attribute_method_prefix(*prefixes)
Instance Public methods
Declares a method available for all attributes with the given prefix. Uses
method_missing
and respond_to?
to rewrite the
method.
1 | #{prefix}#{attr}(*args, &block) |
to
1 | #{prefix}attribute(#{attr}, *args, &block) |
An instance method #{prefix}attribute
must exist and accept at
least the attr
argument.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | class Person include ActiveModel::AttributeMethods attr_accessor :name attribute_method_prefix 'clear_' define_attribute_methods :name private def clear_attribute(attr) send( "#{attr}=" , nil ) end end person = Person. new person.name = 'Bob' person.name # => "Bob" person.clear_name person.name # => nil |
Please login to continue.