rails new mvc create belong association and active ruby-on-rails ruby activerecord activemodel

ruby on rails - new - ¿Para qué se utiliza el atributo de método ActiveModel "_was"?



ruby on rails mvc (1)

Cuando uso la función de autocompletar en la consola, a menudo veo " _was " postpendido en mis atributos. Pero no puedo encontrar ninguna documentación o mejores prácticas para el uso. ¿Qué hace y cómo debe usarse?

Ejemplo: user.fname tiene el método user.fname_was

Utilizando source_location, lo he rastreado a: active_model / attribute_methods.rb ", línea 296 pero no hay nada específico.


Eso es parte de ActiveModel :: Dirty Puede verlo aquí https://github.com/rails/rails/blob/af64ac4e5ce8406137d5520fa88e8f652ab703e9/activemodel/lib/active_model/dirty.rb#L146 Ejemplo

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

Cambiar el nombre:

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'']