我想弄清楚Ruby on Rails路由問題。下面是routes.rb中文件的相關部分:Rails嵌套資源錯誤的參數數量
resources :clients do
resources :campaigns do
resources :targets do
member do
post 'send'
end
end
end
end
rake routes
包括這樣的:
send_client_campaign_target POST /clients/:client_id/campaigns/:campaign_id/targets/:id/send(.:format) targets#send
然而,POST到/clients/1/campaigns/1/targets/30/send
返回以下錯誤:
ArgumentError in TargetsController#send
wrong number of arguments (2 for 0)
的錯誤頁面顯示參數爲:
{"client_id"=>"1",
"campaign_id"=>"1",
"id"=>"30"}
任何想法有什麼不對?我是對的,這是一個路由問題? send方法存在於目標控制器中,但它是一個空的存根方法,並且仍然會產生此問題。
謝謝!
這正是發生了什麼事。我沒有意識到我重寫了一種方法,而不是僅僅定義一個動作。謝謝! –