2012-01-03 92 views

回答

8

一切都說明如下:http://apidock.com/rails/Class/class_attribute

如果你點擊「查看源文件」,你會看到有沒有可用的設置默認值的選項。你做得對。

+1

僅供參考我沒有downvote你,但我不能看到我對你粘貼的URL做什麼背書。實際上我已經查看過是否有一個默認值的選項。 Rails中有足夠的魔力,我想得到明確的答案。在四處搜索後,我發現這個正式的Rails指南使用了與http://edgeguides.rubyonrails.org/active_support_core_extensions.html#class-attributes相同的初始化方法,所以我想這一切都很好! – poochenza 2012-01-03 13:54:32

+0

將upvote,對此感到遺憾。很高興你找到了它。請編輯問題,以便我可以更正此問題。 – lzap 2012-01-03 17:40:17

+0

你必須改變你的問題中至少有一個字符,否則我無法調高... – lzap 2012-01-04 09:24:15

1

你做得很好(除非你繼承)。

如果您繼承此類,則可以使用inherited方法來避免「泄漏」。在今年的Rails分支主加入

def self.inherited(sub_class) 
    self.foobar = self.foobar.clone 
    # or `self.foobar = []` 
end 
+0

拒絕警告:它看起來像某物(可能是一個gem /插件)重寫ActiveRecord :: Base.inherited方法。執行此鉤子非常重要,以便您的模型正確設置。已經添加了一種解決方法來阻止這在3.2中導致錯誤,但如果掛鉤被覆蓋,未來的版本將不起作用。如果您使用Kaminari,請升級,因爲它已知有此問題。 – 2015-12-27 01:24:15

相關問題