Method: ActiveModel::AttributeAssignment#attribute_writer_missing
- Defined in:
- lib/active_model/attribute_assignment.rb
#attribute_writer_missing(name, value) ⇒ Object
Like ‘BasicObject#method_missing`, #attribute_writer_missing is invoked when #assign_attributes is passed an unknown attribute name.
By default, #attribute_writer_missing raises an UnknownAttributeError.
class Rectangle
include ActiveModel::AttributeAssignment
attr_accessor :length, :width
def attribute_writer_missing(name, value)
Rails.logger.warn "Tried to assign to unknown attribute #{name}"
end
end
rectangle = Rectangle.new
rectangle.assign_attributes(height: 10) # => Logs "Tried to assign to unknown attribute 'height'"
56 57 58 |
# File 'lib/active_model/attribute_assignment.rb', line 56 def attribute_writer_missing(name, value) raise UnknownAttributeError.new(self, name) end |