3

(レール 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 がアクションであると考えるのはなぜですか? 明らかな何かが欠けていることを願っています!

4

1 に答える 1