我有以下路线:
resources :transactions do
collection do
post :detail
end
end
当我到达http://localhost:3000/transactions/detail时,rails会给我这个错误:
Transactions中的ActiveRecord :: RecordNotFound#show
无法找到id = detail
的交易这让我觉得演出路线优先于我的收藏路线,但我无法弄清楚原因。与此问题非常相似:Rails ignores collection route and goes with show action instead,但我没有重复的资源:交易条目。
答案 0 :(得分:3)
resources :transactions do
collection do
get :detail
end
end
如果这是您进行嵌套的唯一途径,则可以缩短为:
resources :transactions do
get :detail, on: :collection
end