15

コンソールでオートコンプリートを使用_wasすると、属性の後に「」が追加されることがよくあります。しかし、使用法に関するドキュメントやベストプラクティスが見つかりません。それは何をし、どのように使用すべきですか?

例:user.fnameメソッドがありますuser.fname_was

source_locationを使用して、それを次のように追跡しました:active_model / attribute_methods.rb "、行296ですが、具体的なことは何もありません。

4

1 に答える 1

43

これはActiveModel::Dirtyの一部ですhttps://github.com/rails/rails/blob/af64ac4e5ce8406137d5520fa88e8f652ab703e9/activemodel/lib/active_model/dirty.rb#L146

person = Person.find_by_name('Uncle Bob')
person.changed?       # => false

名前を変更します。

person.name = 'Bob'
person.changed?       # => true
person.name_changed?  # => true

#method _was return prev attribute value
person.name_was  # => 'Uncle Bob'  
person.name_change    # => ['Uncle Bob', 'Bob']
person.name = 'Bill'
person.name_change    # => ['Uncle Bob', 'Bill']
于 2012-12-16T23:50:09.863 に答える