我无法在Rails文档中找到这个,但似乎'mattr_accessor'是普通Ruby 类中'attr_accessor'(getter&setter)的模块推论.
例如.在课堂上
class User
attr_accessor :name
def set_fullname
@name = "#{self.first_name} #{self.last_name}"
end
end
Run Code Online (Sandbox Code Playgroud)
例如.在一个模块中
module Authentication
mattr_accessor :current_user
def login
@current_user = session[:user_id] || nil
end
end
Run Code Online (Sandbox Code Playgroud)
这个帮助方法由ActiveSupport提供.