我真的無法找到這Rails文檔,但它似乎像「mattr_accessor」是模塊推論在一般的Ruby 類「attr_accessor」(吸氣& setter方法)。Rails模塊中的mattr_accessor是什麼?
例如,在一類
class User
attr_accessor :name
def set_fullname
@name = "#{self.first_name} #{self.last_name}"
end
end
例如,一個模塊
module Authentication
mattr_accessor :current_user
def login
@current_user = session[:user_id] || nil
end
end
在這個輔助方法由的ActiveSupport提供。
在你的例子,你解釋說,`mattr_accessor`將簡稱類的實例變量(`@ variable`s),但似乎源代碼來揭示他們是實際設置/讀取類變量。你能解釋一下這個區別嗎? – sandre89 2018-01-17 01:19:04