(轨道 3.0.7)
我的routes.rb
有这个:
namespace :admin do
namespace :campus_hub do
resources :billing_subscriptions, {
:except => [:destroy, :new, :create]
} do
member do
post :add_addon
end
end
end
end
rake routes
显示这条路线:
add_addon_admin_campus_hub_billing_subscription POST /admin/campus_hub/billing_subscriptions/:id/add_addon(.:format) {:action=>"add_addon", :controller=>"admin/campus_hub/billing_subscriptions"}
我的控制器 ( Admin::CampusHub::BillingSubscriptionsController
) 有方法add_addon
。
我在日志中做了一个如下所示的 POST:
Started POST "/admin/campus_hub/billing_subscriptions/50059f5be628f83b13000012/add_addon" for 33.33.33.1 at Tue Jul 17 20:21:17 +0200 2012
我得到这个错误:
AbstractController::ActionNotFound (The action '50059f5be628f83b13000012' could not be found for Admin::CampusHub::BillingSubscriptionsController)
我完全感到困惑。我发出的 POST 请求与路线完全匹配。为什么它认为ID是动作?希望我只是错过了一些明显的东西!