作成後に2つのメソッドを呼び出そうとしていますが、それらを配列に配置しても機能しません... railsdocsまたはgoogleに何も見つかりません...経験のある人はいますか?
after_create [:do_this, :do_that]
動作しません
作成後に2つのメソッドを呼び出そうとしていますが、それらを配列に配置しても機能しません... railsdocsまたはgoogleに何も見つかりません...経験のある人はいますか?
after_create [:do_this, :do_that]
動作しません
メソッドを配列で囲む必要はありません。単に使用してください:
after_create :do_this, :and_then_this
ボーナス情報:before_*
コールバックがfalseを返す場合、それ以降のすべてのコールバックと関連するアクションはキャンセルされます。コールバックがfalseを返す場合、after_*
それ以降のすべてのコールバックはキャンセルされます。コールバックは、最後に呼び出されるモデルのメソッドとして定義されたコールバックを除いて、通常、定義された順序で実行されます。
単一のメソッドを呼び出して、そのメソッドで順序を調整することもできます。
after_create :process
def process
do_this
do_that
then_this
end
私は個人的にこのアプローチを好みます。隠された魔法はありません。
なぜ2つのコールバックメソッドを配列に入れるのですか?
after_create:do_this、:do_that
注意してください、after_action
反転しているようです。
after_action :do_that_after, :do_that_before
現在実行されている注文do_that_before
はdo_that_after
編集:Rails6.0.3.3を使用