1. ホーム
  2. ruby-on-rails

[解決済み] Rails 3 属性が変更されたかどうかをチェックする

2022-04-26 01:56:29

質問

Rails 3で更新前に属性のブロックが変更されたかどうかをチェックする必要がある。

通り1, 通り2, 都市, 州, 郵便番号

のようなものが使えるのは知っています。

if @user.street1 != params[:user][:street1]
  then do something....
end

しかし、このコード片は本当に長くなってしまいます。 もっとすっきりした方法はないでしょうか?

解決方法は?

チェックアウト ActiveModel::Dirty (デフォルトですべてのモデルで利用可能)。ドキュメントがとても良いのですが、以下のようなことができるようになります。

@user.street1_changed? # => true/false