【发布时间】:2013-10-19 01:25:13
【问题描述】:
我对非资源路由的帮助器 url 和路径帮助器有疑问,
有一个模型Item,除其他属性外,还具有sku 属性
所以默认路由用
resources :items
创建默认索引路由
item GET /items/:id(.:format) items#show
但我想覆盖该路由以匹配以下网址:
/sku/:sku/id/:id
而不是默认网址:
/items/:id
所以我创建了如下路由,放在resources :items上面先匹配:
get "sku/:sku/id/:id" => "items#show", as: "item"
如果我转到www.example.com/sku/2342/id/8484,它会正常工作,它会显示正确的项目。
但是,我的问题是如果我想使用 item_path 或 item_url 助手将对象传递给他们。
我没有获得所需的路径/sku/2342/id/8484,而是获得了一个应用了两次项目ID的路径,例如/sku/8484/id/8484
我在谷歌和 StackOverflow 中搜索了几分钟,但我找不到答案,我已经阅读了 Rails 路由文档但仍然没有成功,希望有人能帮助我,谢谢。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 routing