method
attributes=
v2.1.0 -
Show latest stable
- Class:
ActiveRecord::Base
attributes=(new_attributes, guard_protected_attributes = true)public
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). Sensitive attributes can be protected from this form of mass-assignment by using the attr_protected macro. Or you can alternatively specify which attributes can be accessed with the attr_accessible macro. Then all the attributes not included in that won’t be allowed to be mass-assigned.
2Notes
Update attributes on mulitple models
Updates attributes on multiple models, saves each if validations pass.
def update_multiple
@items = Item.find(params[:item_ids])
@items.each do |item|
item.attributes = params[:item].reject { |k,v| v.blank? }
end
if @items.all?(&:valid?)
@items.each(&:save!)
flash[:notice] = "Updated items!"
redirect_to items_path
else
flash[:notice] = "Please enter valid data."
render :action => 'edit_multiple'
end
end
the source is wrong!
in 3.0.5, the source code in line 15 looks like this: respond_to?(:"#{k}=") ? send(:"#{k}=", v) : raise(UnknownAttributeError, "unknown attribute: #{k}")
whats wrong with apidock?