Rails路由:如何重命名(嵌套)资源块中的params-Hash键?

有没有办法重命名资源块中资源的键?我的页面路由看起来像这样

get ':slug', to: 'pages#show', as: :pages
resources :pages

因此,对于表演动作,关键不是,/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 会非常费力!

谢谢

冯·斯波茨

回答

嘿——你可以这样做的一个好方法是

# config/routes.rb

resources :pages, param: :slug

您可以在此处阅读更多相关信息:https : //guides.rubyonrails.org/routing.html#overriding-named-route-parameters


以上是Rails路由:如何重命名(嵌套)资源块中的params-Hash键?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>