私は、active_attr gem を使用して、私たちのニーズに合った ORM やマッパーが他にないように見える NoSQL データベースに支えられたモデルを作成しようとしています。
ドキュメント ( https://github.com/cgriego/active_attrattribute
) では、を使用して属性を定義する例を示していますattr_accessor
。違いがわかるかどうかはよくわかりません。いつどちらを使用する必要があるかを誰かが説明できますか?
私は、active_attr gem を使用して、私たちのニーズに合った ORM やマッパーが他にないように見える NoSQL データベースに支えられたモデルを作成しようとしています。
ドキュメント ( https://github.com/cgriego/active_attrattribute
) では、を使用して属性を定義する例を示していますattr_accessor
。違いがわかるかどうかはよくわかりません。いつどちらを使用する必要があるかを誰かが説明できますか?
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
を拡張するモジュールと一緒に使用されるように見えますが、クラス インスタンスの属性を直接拡張するモジュールに使用されます。MassAssignment
BlockInitialization
attribute