instance method changed_attributes

Ruby on Rails 5.2.8.1

Since v3.0.20

Available in: v3.0.20 v3.1.12 v3.2.22.5 v4.0.13 v4.1.16 v4.2.9 v5.2.8.1 v6.0.6 v6.1.7.10 v7.0.10 v7.1.6 v7.2.3 v8.0.4 v8.1.2

Signature

changed_attributes()

Returns a hash of the attributes with unsaved changes indicating their original values like attr => original value.

person.name # => "bob"
person.name = 'robert'
person.changed_attributes # => {"name" => "bob"}
Source
# File activemodel/lib/active_model/dirty.rb, line 218
    def changed_attributes
      # This should only be set by methods which will call changed_attributes
      # multiple times when it is known that the computed value cannot change.
      if defined?(@cached_changed_attributes)
        @cached_changed_attributes
      else
        attributes_changed_by_setter.reverse_merge(mutations_from_database.changed_values).freeze
      end
    end

Defined in activemodel/lib/active_model/dirty.rb line 218 · View on GitHub · Improve this page · Find usages on GitHub

Defined in ActiveModel::Dirty

Type at least 2 characters to search.

↑↓ navigate · open · esc close