instance method
method_missing
Ruby on Rails 3.1.12
Since v3.0.20Signature
method_missing(method_id, *args, &block)
Allows access to the object attributes, which are held in the @attributes hash, as though they were first-class methods. So a Person class with a name attribute can use Person#name and Person#name= and never directly use the attributes hash – except for multiple assigns with ActiveRecord#attributes=. A Milestone class can also ask Milestone#completed? to test that the completed attribute is not nil or 0.
It’s also possible to instantiate related objects, so a Client class belonging to the clients table with a master_id foreign key can instantiate master through Client#master.
Parameters
-
method_idreq -
argsrest -
blockblock
Source
# File activemodel/lib/active_model/attribute_methods.rb, line 379
def method_missing(method_id, *args, &block)
method_name = method_id.to_s
if match = match_attribute_method?(method_name)
guard_private_attribute_method!(method_name, args)
return __send__(match.target, match.attr_name, *args, &block)
end
super
end
Defined in activemodel/lib/active_model/attribute_methods.rb line 379
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveModel::AttributeMethods