Module ActiveRecord::AttributeAssignment
In: lib/active_record/attribute_assignment.rb

Methods

Included Modules

ActiveModel::MassAssignmentSecurity

Classes and Modules

Module ActiveRecord::AttributeAssignment::ClassMethods

Public Instance methods

Allows you to set all the attributes for a particular mass-assignment security role by passing in a hash of attributes with keys matching the attribute names (which again matches the column names) and the role name using the :as option.

To bypass mass-assignment security you can use the :without_protection => true option.

  class User < ActiveRecord::Base
    attr_accessible :name
    attr_accessible :name, :is_admin, :as => :admin
  end

  user = User.new
  user.assign_attributes({ :name => 'Josh', :is_admin => true })
  user.name       # => "Josh"
  user.is_admin?  # => false

  user = User.new
  user.assign_attributes({ :name => 'Josh', :is_admin => true }, :as => :admin)
  user.name       # => "Josh"
  user.is_admin?  # => true

  user = User.new
  user.assign_attributes({ :name => 'Josh', :is_admin => true }, :without_protection => true)
  user.name       # => "Josh"
  user.is_admin?  # => true

Allows you to set all the attributes at once by passing in a hash with keys matching the attribute names (which again matches the column names).

If any attributes are protected by either attr_protected or attr_accessible then only settable attributes will be assigned.

  class User < ActiveRecord::Base
    attr_protected :is_admin
  end

  user = User.new
  user.attributes = { :username => 'Phusion', :is_admin => true }
  user.username   # => "Phusion"
  user.is_admin?  # => false

Protected Instance methods

[Validate]