我对非资源路由的帮助程序 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
oritem_url
助手将对象传递给他们。
/sku/2342/id/8484
我没有得到所需的路径,而是得到了一个应用了两次的项目 id 的路径/sku/8484/id/8484
我在谷歌和 StackOverflow 中搜索了几分钟,但我找不到答案,我已经阅读了 Rails 路由文档但仍然没有成功,希望有人能帮助我,谢谢。