在rails中创建路由时,resources
方法会生成以下路由
resources :objects
# => GET '/objects/:id'
# etc...
但是,当resources
id
参数内的路由嵌套时,resources :objects do
resources :nested_objects
end
# => GET '/objects/:object_id/nested_objects/:id'
参数适用于嵌套资源,
param[:id]
我更喜欢资源从不使用param[:object_id]
,而是始终使用完整的id
,因此我可以在嵌套控制器时封装类似的行为。
有配置吗?为了方便每隔一段时间写object_name_id
代替{{1}},设计似乎非常糟糕
答案 0 :(得分:1)
params[:id]
始终指向当前资源的id。那就是大会。
您可以在routes.rb
中覆盖此约定,如下所示:
resources :objects do
resources :nested_objects, param: :nested_object_id
end
为了方便编写id,似乎设计非常糟糕 而不是object_name_id
我认为虽然