是否有一种方法可以重命名资源块中资源的键?我的页面路由如下所示
get ':slug', to: 'pages#show', as: :pages
resources :pages
字符串
因此,对于show-action,关键不是/pages/:id
,而是/pages/:slug
,如下所述:https://guides.rubyonrails.org/routing.html#naming-routes。
有没有办法将所有/pages/* 路由的params-key改为:slug
而不是:id
特别是:这在嵌套资源块中是可能的吗?
举例来说:
resources :users do
resources :products do (should be params[:product_id] instead of params[:id])
resources :comments (should be params[:comment_id] instead of params[:id])
end
end
end
型
手动设置所有路由只是为了更改该资源的params-key将是相当繁重的工作!
2条答案
按热度按时间1cklez4t1#
嘿-一个很好的方法就是
字符串
你可以在这里阅读更多关于它的信息:https://guides.rubyonrails.org/routing.html#overriding-named-route-parameters
okxuctiv2#
另一种选择是显式提供路由的名称:
字符串
使用
param:
选项(Damilare提到过),如果它适合您的用例,那么绝对是首选。