目标是为GET,REST API创建这样的URL:
/manager/someID/report
example: /manager/2/report
如果这样做,我可以让它在rake路线中显示:
get 'manager/:id/report', to: 'report#show'
但在我读到的一些博客中,这就是不熟练的开发人员编写路线的方式!并且看起来更好的方法是使用“嵌套资源”,所以我正在敲桌子以使嵌套资源以相同的方式工作......但没有成功
这是我到目前为止所写的:
resources :manager, only: [:show] do
resources :report, only: [:show], controller: 'report' do
member do
## WAT ?!
end
end
end
答案 0 :(得分:1)
首先,你可能想考虑阅读不同的博客,如果他们正在调用“不熟练”的路线。
你提出的建议实际上很好,因为它是一种非标准的RESTful路线,在某些情况下甚至可能更好。如果您想要一种替代方法,您可以选择不同的方法。我不认为任何一个比另一个更正确,但我更喜欢第一个因为它占用更少的垂直空间。
resources :manager, only: [:show] do
get 'report' => 'report#show', on: :member
end
或
resources :manager, only: [:show] do
member do
get 'report' => 'report#show'
end
end