instance method
becomes!
Ruby on Rails 7.2.3
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 510
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 510
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveRecord::Persistence