2013-12-16 63 views
6

我見過幾個模型定義了一個靜態方法Ruby中的屬性和base_attributes之間的區別?

self.base_attributes 
{ 
    :object => [] 
} 
end 

和其他一些模型定義靜態方法

self.attributes 
    @@attributes = {} 
end 

究竟什麼是屬性和基本屬性之間的區別?

+0

你能指出一些源代碼的例子嗎? –

回答

1

那麼在您的示例中,如果您不知道更多關於代碼的信息,self.attributes方法正在使用類變量(@@attributes),這意味着您可以在運行時爲其添加更多屬性。

你的base_attributes是硬編碼的。我懷疑你看到類似的東西:

base_attributes.merge(attributes)這也許是一種定義默認值的方法。

相關問題