instance method
becomes!
Ruby on Rails 4.2.9
Since v4.0.13Signature
becomes!(klass)
Wrapper around becomes that also changes the instance’s sti column value. This is especially useful if you want to persist the changed class in your database.
Note: The old instance’s sti column value will be changed too, as both objects share the same set of attributes.
Parameters
-
klassreq
Source
# File activerecord/lib/active_record/persistence.rb, line 215
def becomes!(klass)
became = becomes(klass)
sti_type = nil
if !klass.descends_from_active_record?
sti_type = klass.sti_name
end
became.public_send("#{klass.inheritance_column}=", sti_type)
became
end
Defined in activerecord/lib/active_record/persistence.rb line 215
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::Persistence