Ruby中的属性和base_attributes之间的区别?

时间:2013-12-16 19:34:44

标签: ruby-on-rails ruby

我见过几个模型定义静态方法

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

和其他一些模型定义了静态方法

self.attributes
  @@attributes = {}
end

属性和基本属性之间究竟有什么区别?

1 个答案:

答案 0 :(得分:1)

在您的示例中,如果不了解有关代码的更多信息,self.attributes方法正在使用类变量(@@attributes),这意味着您可以在运行时向其添加更多属性。

base_attributes的硬编码位置。我怀疑你看到的是:

base_attributes.merge(attributes)这可能是一种定义默认值的方法。