2012-12-19 2 views
8

ActiveAdminに登録されたモデルには、「アクティブ」ブール値フィールドがあります。一度に複数のレコードを「アクティブにする」バッチアクションを含める必要があります。 ActiveAdmin batch_actionテンプレートエラーと更新なし

は私がで指示に従っしようとしています:カスタムのバッチアクションを行うため

http://activeadmin.info/docs/9-batch-actions.html

と私は2つの問題を抱えています。

私はこれ持っている:私はテンプレートが見つからないエラーが発生します何かをアクティブ化しようとすると

ActiveAdmin.register Venue do 

    batch_action :deactivate do |selection| 
    Venue.find(selection).each do |v| 
     v.active = false 
    end 
    end 
end 

を。これは、 "batch_action"テンプレートを探しています。テンプレートを追加する必要があることについて、その文書では何も見ませんでした。その名前のテンプレートを追加すると、エラーが消えてテンプレートが表示されます...これはもちろん私が望むものではありません。インデックスを再表示するだけです。

いずれの場合も(テンプレートの有無にかかわらず)、モデルは更新されていません。私は選択されたレコードだけを選択し、それ以外は何もしないログを見ることができます。

答えて

20

私は次の操作を実行して、問題を処分した:

batch_action :activate do |selection| 
    Venue.find(selection).each do |v| 
    v.active = true 
    v.save 
    end 
    redirect_to :back #this ensures any current filter stays active 
end 

「保存」の部分は明らかに思えるが、ドキュメントの例では、私の最初の試みで私を投げました。これは、これがドキュメントのより関連性の高い例になるようです。

関連する問題