LoginSignup
65
57

More than 5 years have passed since last update.

コールバックとは?

Posted at

by wikipedia

コールバック関数とは、プログラム中で、呼び出し先の関数の実行中に実行されるように、あらかじめ指定しておく関数。

関数が実行中に、実行される関数 = コールバック関数

呼び出し先の関数の引数としてコールバック関数への参照情報を渡すことで、呼び出し先から任意のコールバック関数を実行させ、コールバック関数に実行制御を移すことができる。電話を相手に一度かけて電話番号のみを伝え、いったん電話を切って折り返し相手からかけなおしてもらう様子(これを「コールバック」という)に似ているためこの名前がついた。

呼び出し先の関数に引数にどのコールバック関数を使えばいいのか渡しておく。

by RailsGuide

コールバックとは、オブジェクトのライフサイクル期間における特定の瞬間に呼び出されるメソッドのことです。コールバックを利用することで、Active Recordオブジェクトが作成/保存/更新/削除/検証/データベースからの読み込み、などのイベント発生時に常に実行されるコードを書くことができます。

つまり、コールバック関数とは

def hoge(method)
  self.send(method.to_sym)
end



def call_method
  p 'コールバックされました。'
end


hoge("call_method")
→ "コールバックされました。"

Railsの身近なコールバック関数

by RailsGuide

オブジェクトの作成
before_validation
after_validation
before_save
around_save
before_create
around_create
after_create
after_save

オブジェクトの更新
before_validation
after_validation
before_save
around_save
before_update
around_update
after_update
after_save

オブジェクトのdestroy
before_destroy
around_destroy
after_destroy

65
57
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
65
57