1

私は、active_attr gem を使用して、私たちのニーズに合った ORM やマッパーが他にないように見える NoSQL データベースに支えられたモデルを作成しようとしています。

ドキュメント ( https://github.com/cgriego/active_attrattribute ) では、を使用して属性を定義する例を示していますattr_accessor。違いがわかるかどうかはよくわかりません。いつどちらを使用する必要があるかを誰かが説明できますか?

4

1 に答える 1

4

attr_accessorは Ruby メソッド、attributeは のカスタム メソッドですactive_attr

例えば:

class User
  include ActiveAttr::QueryAttributes
  attribute :first_name
end

User.new.first_name?

上記では、attribute :first_nameを使用attr_accessorして基本的なゲッター/セッター (first_nameおよびfirst_name=) を作成し、さらに少なくとも別のメソッドを追加しfirst_name?ます。

クラス ( 、)attr_accessorを拡張するモジュールと一緒に使用されるように見えますが、クラス インスタンスの属性を直接拡張するモジュールに使用されます。MassAssignmentBlockInitializationattribute

于 2014-08-16T00:48:14.447 に答える