RailsWebアプリでvalidationを書いていると、値が変更になった時にだけvalidationをかけたい場合があります。Railsではwill_save_change_to_#{attr_name}?というメソッドが用意されています。#{attr_name}の部分はModelの属性(カラム名)で置き換えます。値が変更されているか調べてからvaldiateする会議室予約アプリを例にして、具体的な使い方をみてみます。会議室(meeting_room)は複数の会議予約(meeting)をもちます。会議予約は、開始時刻(start_time)と終了時刻(end_time)をもちます。ルーティングはこちらです。start_timeは現在時刻より後であることstart_timeが変更された時、start_timeは現在時刻より後であることこちらを実装したコードは以下です。will_save_change_to_start_time?を使うことによって、start_timeが変更されたかどうかを判定しています。will_save_change_to_start_time?)は、start_timeがnilでないかつ、新規またはstart_timeの値が変更されている、という意味です。5.2.1続くこちらもどうぞyucatio.hatenablog.comyucatio.hatenablog.com参考Rails4とRails5ではDBの値をとるメソッドや変更されたかを取得するメソッドの名前が変更されています。rail5の方がわかりやすいメソッド名ですね。以外のメソッドもこちらにまとまっています。前回の記事の続きです。「ピーターからの問題」1から9までを使って分数の穴埋め算。(1)はてなブログをはじめよう!yucatioさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。