1

私はこのようなメンバーアクションを作りました:

member_action :send_by_email, :method => :get

Admin::CardsController/send_by_email を実行することを想定していますが、そうではありません。コントローラー アクションを起動しません。

私のファイルは、app/controllers/admin の cards_controller.rb です。

class Admin::CardsController < ApplicationController
    def send_by_email
       raise "ok"
    end
end

レーキルートを実行すると、次のようになりました。

 send_by_email_admin_card GET        /admin/cards/:id/send_by_email(.:format) admin/cards#send_by_email

何か案が?

4

2 に答える 2

1

あなたは自分の仕事を上書きしています。

Admin::CardsController でアクションを定義すると、member_action で定義するのと同じことになります。

推奨される方法は、コントローラーを掘り下げるのではなく、member_action を使用して管理リソース コントローラー アクションを定義することです。

于 2015-06-24T08:55:15.183 に答える
0

さらにデバッグするには、これを試してください:

member_action :send_by_email do
  raise "ok" #assuming that works, I use puts statements but whatev.
end

すべての「もの」をブロック内のブロックに入れなければならないことがわかりましたapp/admin/cards.rb

于 2012-09-16T17:17:20.287 に答える