Saves the model.
If the model is new a record gets created in the database, otherwise the existing record gets updated.
There’s a series of callbacks associated with save!. If any of the before_* callbacks return false the action is cancelled and save! raises ActiveRecord::RecordNotSaved. See ActiveRecord::Callbacks for further details.
Attributes marked as readonly are silently ignored if the record is being updated.
# File activerecord/lib/active_record/persistence.rb, line 141 def save!(*) create_or_update || raise(RecordNotSaved.new("Failed to save the record", self)) end