1

我正在尝试使用 active_attr gem 创建由 NoSQL 数据库支持的模型,该数据库似乎没有任何其他符合我们需求的 ORM 或映射器。

在文档 ( https://github.com/cgriego/active_attr ) 中,它显示了定义属性的示例,仅attribute使用attr_accessor. 我不太确定我看到了区别。有人能解释一下我什么时候应该使用另一种吗?

4

1 回答 1

4

attr_accessor是 Ruby 方法,attributeactive_attr.

例如:

class User
  include ActiveAttr::QueryAttributes
  attribute :first_name
end

User.new.first_name?

在上面,attribute :first_name将使用attr_accessor创建基本的 getter/setter(first_namefirst_name=),然后另外添加至少另一个方法first_name?

它似乎attr_accessor与增加 Class ( MassAssignment, BlockInitialization) 的模块一起使用,而attribute用于直接增加 Class 实例属性的模块。

于 2014-08-16T00:48:14.447 回答