[解決済み] Ruby on Railsのコールバック、:before_saveと:before_createの違いは何ですか?
2022-04-13 09:53:10
質問
の内容を詳しく説明してください。
:before_save
と
:before_create
Ruby on Railsのコールバックとは、Railsのバリデーションとどう関係があるのでしょうか?バリデーションは
:before_save
または
:before_create
?
解決方法は?
Railsのcreate操作では、データベース操作の前に6つのコールバックがあり、後に2つのコールバックがあります。順番に言うと、これらは
-
before_validation
-
before_validation_on_create
-
after_validation
-
after_validation_on_create
-
before_save
-
before_create
データベースインサート -
after_create
-
after_save
更新操作は、readを除いて全く同じセットを持っています。
update
の代わりに
create
をあらゆる場所で使用することができます(そして
アップデイト
の代わりに
INSERT
).
このことから、バリデーションは
before_save
と
before_create
のコールバックがあります。
は
before_save
の少し前に発生します。
before_create
. 私の知る限りでは、この間には何も起こりません。
before_save
はUpdate操作でも発火し、一方
before_create
はCreatesの時のみ発生します。
関連
-
[解決済み】bundle installが "Could not locate Gemfile "を返す。
-
[解決済み] デバイスを使用する現在のユーザーメソッド
-
[解決済み] ActionController::RoutingError: 初期化されていない定数MicropostsController
-
[解決済み] Ruby on Railsのマイグレーションでデータベースのカラムの名前を変更するにはどうすればよいですか?
-
[解決済み] Ruby on Railsで現在の絶対URLを取得するにはどうすればよいですか?
-
[解決済み] RubyでBegin, Rescue, Ensure?
-
[解決済み] イコール、エクル、==、==の違いは何ですか?
-
[解決済み] Rubyのmapとcollectの違い?
-
[解決済み] Ruby on Railsで、DateTime、Timestamp、Time、Dateの違いは何ですか?
-
[解決済み】Railsの認証トークンを理解する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】コントローラでJSONをレンダリングする
-
[解決済み】Rails 4 RoutingError: ルートが一致しない[POST]。
-
[解決済み】bcrypt LoadError: Cannot load such file
-
[解決済み] どなたか、collection_selectをわかりやすく説明していただけませんか?
-
[解決済み] Ruby: public static メソッドを作るには?
-
[解決済み] rspecにおけるassignsの意味
-
[解決済み] Ruby on rails アプリで ES6 (ES2015) を使用するにはどうすればよいですか?
-
[解決済み] RSpecとCucumberの違いは何ですか?[クローズド]
-
[解決済み] Rails 4で、以前のバージョンのRailsでattr_accessibleを使用していた状況に遭遇した場合、Forbidden Attributes Errorが発生する。
-
[解決済み] Railsコンソール:リロード!モデルファイルの変更が反映されない?考えられる理由は何でしょうか?