0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Active Adminで新規データ作成後に、処理を行わせる方法。

Posted at

背景

Active Adminを利用していて、「特定のデータを作った時だけ、通知を送りたい」ニーズが発生しました。
モデル層に、:after_create_commitを置くというやり方もありますが、以下の前提があり、調べてみることにしました。

  • 全てのデータ作成時に、通知するのではなくあくまで、ActiveAdmin上からデータを作成した時のみ行いたい。

方法

以下の方法で達成できます。
ActiveAdminで自動的に設定されているcreateメソッドをオーバーライドし、その後の後続処理を追記するやり方です。
DBに別フローでデータを作成してみましたが、ちゃんとその時は、以下のコードは動かないことを確認しているので、目的を果たすことができました。

ActiveAdmin.register #{モデル名} do
  controller do
    def create
      super do |format|
        # ここに処理を入れるだけでOK!
      end
    end
  end
end
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?