在我的路由器中,我嵌套了两个资源:
resources :servers do
member do
resources :maintenances
end
end
导致URI模式如下:
maintenance GET /servers/:id/maintenances/:id(.:format) maintenances#show
在maintenance_controller的show动作中,我希望获得以下ID:
@server = Server.find_by(params[:id])
@maintenance = Maintenance.find_by ???
我的问题是:如何从URI模式http://localhost/servers/1/maintenances/1
中访问maintenance_controller中的这两个ID答案 0 :(得分:2)
试试这个
resources :servers do
resources :maintenances
end
然后您可以按照以下方式访问嵌套资源
server_maintenance GET /servers/:server_id/maintenances/:id(.:format)
在您的控制器中
@server = Server.find(params[:server_id])
@maintenance = Maintenance.find(params[:id])
有关路由路由的完整文档位于official docs