アクティブレコードコールバック導入
3717 ワード
Railsアプリケーションで作成されたすべてのオブジェクトには、Create、Update、およびDestroyの3つの一般的な段階から構成されるライフサイクルがあります.コールバックを使用すると、オブジェクトのライフサイクルの各段階の前に、中または後に指定されたメソッドをトリガすることができます.
以下では、オブジェクトのライフサイクルの基本的ないくつかについて説明します.
オブジェクトがつくられる前に、それはその妥当性を通過する必要があります.オブジェクトが有効にされた後にそれは作成される大丈夫を与えられます. 作成の後、、アイテムは最終的にデータベース に保存されます
これらのステップの前に、の間、そして、そして、の後、我々は行動を実行するためにコールバックメソッドを利用することができます.
の前の以前の確認224779182 余波の検証 の前に、の前の
の前のは、256 , 79182
256 , 779172アフターケインクリエイト 256569172アフターセーセイブ上記のコールバックの順番を示すために、それぞれのコールバックの名前を
の前の以前の確認224779182 余波の検証 の前に、の前の
現在のアップデート の前の
余震更新 256569172アフターセーセイブアップデートのコールバックメソッドは、作成コールバックと非常によく動作します.注:
の前のは、 の上で破壊します残酷な破壊
コールバックには多くの用途があり、Ruby on Rails guideで詳しく説明されています.
私は誰もがさらにそれらを見て、そこに強力な機能を利用するRailsプロジェクトを作成することをお勧め!
以下では、オブジェクトのライフサイクルの基本的ないくつかについて説明します.
クリエイト
Object.create
この1つの方法は、新しいオブジェクトを作成し、データベースに保存するだけであるように見えるかもしれませんが、実際にはこれを達成するためにフードの下で行われる多くのステップがあります.オブジェクトがつくられる前に、それはその妥当性を通過する必要があります.オブジェクトが有効にされた後に
これらのステップの前に、の間、そして、そして、の後、我々は行動を実行するためにコールバックメソッドを利用することができます.
コールバックメソッド
の前の
の前の
256 , 779172アフターケインクリエイト
puts
という方法で簡単なユーザモデルを定義することができます.class User < ApplicationRecord
before_validation :bv
after_validation :av
before_save :bs
before_create :bc
after_create :ac
after_save :as
after_commit :a_com
def bv
puts "before_validation"
end
def av
puts "after_validation"
end
def bs
puts "before_save"
end
def bc
puts "before_create"
end
def ac
puts "after_create"
end
def as
puts "after_save"
end
ユーザーモデルのインスタンスを作成すると、コンソール内でメソッドが呼び出され、その項目が作成され、データベースに保存されます.更新
Object.update
更新のコールバックメソッド
の前の
現在のアップデート
余震更新
after_save
は、CREATEとUPDATEの両方を実行しますが、より特定のコールバックafter_create
とafter_update
破壊する
Object.destroy
コールバックメソッド
の前の
結論
コールバックには多くの用途があり、Ruby on Rails guideで詳しく説明されています.
私は誰もがさらにそれらを見て、そこに強力な機能を利用するRailsプロジェクトを作成することをお勧め!
Reference
この問題について(アクティブレコードコールバック導入), 我々は、より多くの情報をここで見つけました https://dev.to/mcardona9015/active-record-callbacks-introduction-5a7テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol