【发布时间】:2011-12-30 12:14:48
【问题描述】:
我想我因为名字而遇到了冲突:
两种型号:storecoupon
显示优惠券所需的网址:http://localhost/coupons/:store_name(“优惠券”写在网址中,不替换任何内容)
控制器名称:coupons_controller
这是我现在的路线:
match '/coupons/:store_name' => 'coupons#index', :as => :stores
当我尝试在另一个控制器中执行 redirect stores_path(store) 时,我收到此错误:
No route matches {:controller=>"coupons"}
有什么线索吗?我是 Rails 新手,所以我敢打赌这是一个愚蠢的错误。
更新
是否有一个中心位置告诉动态 _path() 函数使用特定的 url 结构?即不必在任何地方执行以下操作:
redirect_to stores_path(:store_name => store.store_name)
只使用:
redirect_to stores_path(store)
【问题讨论】:
-
只是在编辑完路由文件后重启了 Rails 服务器?
-
:) 我不知道它需要重新启动 - 但我现在遇到了另一个问题......生成的 url 就像
/coupons/1234这是商店的 ID。调用函数时如何自动将其放入名称中?
标签: ruby-on-rails ruby-on-rails-3.1