module ActiveRecord::MassAssignmentSecurity::Persistence

Active Record Persistence

Public Instance Methods

update(attributes, options = {}) click to toggle source

Updates the attributes of the model from the passed-in hash and saves the record, all wrapped in a transaction. If the object is invalid, the saving will fail and false will be returned.

When updating model attributes, mass-assignment security protection is respected. If no :as option is supplied then the :default role will be used. If you want to bypass the forbidden attributes protection then you can do so using the :without_protection option.

# File lib/active_record/mass_assignment_security/persistence.rb, line 60
def update(attributes, options = {})
  # The following transaction covers any possible database side-effects of the
  # attributes assignment. For example, setting the IDs of a child collection.
  with_transaction_returning_status do
    assign_attributes(attributes, options)
    save
  end
end
Also aliased as: update_attributes
update!(attributes, options = {}) click to toggle source

Updates its receiver just like update_attributes but calls save! instead of save, so an exception is raised if the record is invalid.

# File lib/active_record/mass_assignment_security/persistence.rb, line 72
def update!(attributes, options = {})
  # The following transaction covers any possible database side-effects of the
  # attributes assignment. For example, setting the IDs of a child collection.
  with_transaction_returning_status do
    assign_attributes(attributes, options)
    save!
  end
end
Also aliased as: update_attributes!
update_attributes(attributes, options = {})
Alias for: update
update_attributes!(attributes, options = {})
Alias for: update!