Tag: 路由

Sinatra中的静态页面路由(Ruby)

您可以通过将它们置于public/ (默认情况下)来为Sinatra提供静态文件 – 我目前在那里有一个index.html ,但是如何将根指向该文件而不必将其解析为模板? 为了清楚/index.html ,我可以成功访问/index.html ,并且我想路由/成为相同的静态文件,但没有重定向。 知道怎么做吗?

Rails在form_for中更改提交的路由

我有一个模型’文章’和模型’评级’嵌套在文章中。 /用品/ 123 /评级 我想在rating / _form.html.erb中更改f.submit的路由,现在是这样,按下提交后,我的应用程序路由到 /等级/ 111 但我想把它路由到 /条/ 123 如何在form_for f.submit按钮中更改路由。 我在这里发现了这样的事情: url_for(:action => “update”, :id => @thing) do |f| %> 但这不适用于我的rails 3.2。 谢谢你的帮助,

是在请求之间共享的Sinatra路由中定义的全局变量吗?

说我有: get ‘/’ do $random = Random.rand() response.body = $random end 如果我每秒有数千个请求进入/,$ random会在上下文之外共享和“泄漏”,还是会像get块的’local’变量一样? 我想如果它是在get ‘/’ do的上下文之外定义它确实会被共享,但我想知道是否有一个我不知道的ruby中的机制。

Rails中的递归路由

是否可以在Rails中创建递归路由? 我有一个应用程序,它允许管理员创建页面。 页面模型是嵌套集合,因此每个页面都有一个parent_id,因此页面以树形结构。 页面模型还使用Friendly ID插件为每个页面提供slug。 当用户浏览网站时,我希望他们在url中看到嵌套结构 – 它更适合搜索引擎以及任何可能想要通过切割url来浏览网站的用户。 我想要的东西是: http://example.com/page/page/page/page …等 现在显然我可以用10个巢创建一个嵌套的地图,并希望没有网站超过这个限制,但我很好奇是否还有另一种方式……

使用IP地址结束Rails 2 URL会导致路由错误?

我正在尝试以http:// servername / find / by / CRITERION / VALUE格式构建URL CRITERION是一组有限的字符串,VALUE也是如此。 麻烦的是,在某些情况下,VALUE需要是一个IP地址,这会导致路由错误。 这是我的路线: map.find ‘find/by/:criterion/:query’, :controller => “find”, :action => “by” 而来自Mongrel日志的错误: Processing ApplicationController#index (for 127.0.0.1 at 2010-05-07 10:20:32) [GET] ActionController::RoutingError (No route matches “/find/by/ip/1.2.3.4” with {:method=>:get}): Rendering rescues/layout (not_found) 如果我访问/ find / by / foo / bar或/ find / by / foo / 1234我没有问题。 […]

“Ruby on Rails-Tutorial”中的路由错误

看起来这里的一些人有这个问题,但我找不到另一个主题的任何解决方案。 我正在做Ruby on Rails-Tutorial的第3章,处理静态页面。 当我想在localhost上打开它时,它在浏览器中给出了“路由错误”。 我的Ruby目前的版本是1.9.3。 我的Rails目前是3.2版。 我试过了: 重新启动服务器 再次保存所有文件 检查static_pages_controller.rb中的任何问题 检查routes.rb中的任何问题 检查static_oages_spec.rb中的任何问题 此外,单个静态页面的HTML代码中也没有错误。 而且我在本教程中找不到任何更多帮助,也没有在StackOverflow上的其他问题中找到。 编辑: 这是来自浏览器的实际错误消息: 路由错误 没有路由匹配[GET]“/ static_pages / home”尝试运行rake路由以获取有关可用路由的更多信息。 如果我去http://localhost:3000/static_pages/home ,我有三个静态页面之一。 这是routes.rb: SampleApp::Application.routes.draw do get “static_pages/home” get “static_pages/help” get “static_pages/about” end 另外,我也在终端尝试了“ rake routes ”。 这是结果: home_static_pages GET /static_pages/home(.:format) static_pages#home help_static_pages GET /static_pages/help(.:format) static_pages#help about_static_pages GET /static_pages/about(.:format) static_pages#about static_pages POST /static_pages(.:format) static_pages#create […]

了解routes.rb文件中符号的用法

我是ruby的新手,我正在做一个项目。 在routes.rb文件中,有一些我不明白的语法。 更确切地说,我可以在此文件中找到: get :account #with a symbol get ‘notes’ #with no symbol 有什么不同 ? 我想:account应该在其他地方定义,在路由过程中更快,对吧?

如何使用带有Sinatra斜线的参数?

和sinatra一起玩,我遇到了一个小问题:当我使用带有斜线的参数时,它会混淆路由器引擎。 那么有没有一种很好的方法来处理这种param而不必编码呢? 代码看起来像 get ‘add/:url’ do #…. end 我打算得到像/ add / http://sctackoverflow.com/这样的东西

在rails中解析的路径

我正在寻找解析路径路径的方法,如下所示: ActionController::Routing.new(“post_path”).parse #=> {:controller => “posts”, :action => “index”} 它应该与url_for相反 UPD 我发现: Rails中url_for的反义词是什么? 获取路径并生成解释路线的函数? ActionController::Routing::Routes.recognize_path(“/posts”) 所以现在我需要将posts_path转换为“/ posts”

嵌套form_for奇异资源

我有一个像这样的单一嵌套资源: map.resources :bookings, :member => { :rate => :post } do |booking| booking.resource :review end 给我这些路线: new_booking_review GET /bookings/:booking_id/review/new(.:format) {:controller=>”reviews”, :action=>”new”} edit_booking_review GET /bookings/:booking_id/review/edit(.:format) {:controller=>”reviews”, :action=>”edit”} booking_review GET /bookings/:booking_id/review(.:format) {:controller=>”reviews”, :action=>”show”} PUT /bookings/:booking_id/review(.:format) {:controller=>”reviews”, :action=>”update”} DELETE /bookings/:booking_id/review(.:format) {:controller=>”reviews”, :action=>”destroy”} POST /bookings/:booking_id/review(.:format) {:controller=>”reviews”, :action=>”create”} 我试过这个: 哪个返回了这个错误: undefined method `booking_reviews_path’ for # 用我的评论控制器 def new @review = […]