Railsでモデル/Active Recordのattributeから、変更時に変更前の値を取得したり、変更のチェックを行うメソッドを紹介します。
🐝 変更前のattributeの取得
カラム名_was
で変更前の値を取得できます。
article = Article.find(1) puts article.title article.title = 'after title'
puts article.title_was
|
changes
メソッドで変更のあったカラム名と、変更の前後の値を取得できます。
article = Article.find(1) puts article.title article.title = 'after title'
puts article.changes
|
🐯 attributeの変更をチェックする
カラム名_changed?
は値を変更した場合にtrue
を返します。
article = Article.find(1) puts article.title puts article.title_changed?
article.title = 'after title' puts article.title_changed?
|
attributesのどれかに変化があった場合は、モデルオブジェクト.changed?
で確認できます。
article = Article.find(1) puts article.title puts article.changed?
article.title = 'after title' puts article.changed?
|
👽 参考リンク
🖥 VULTRおすすめ
「VULTR」はVPSサーバのサービスです。日本にリージョンがあり、最安は512MBで2.5ドル/月($0.004/時間)で借りることができます。4GBメモリでも月20ドルです。
最近はVULTRのヘビーユーザーになので、「ここ」から会員登録してもらえるとサービス開発が捗ります!