以下を使用して、JSON レコードのリストを出力しています。
@team.people.to_json(
:include => [:user, :statistics => {:include => :attribute}]).html_safe
ただし、特定の type_id が設定されている統計のみを含めたいと思います。基本的に、ユーザーと統計との左外部結合であり、統計の atype_idはある数値に等しくなります。
以下を使用して、JSON レコードのリストを出力しています。
@team.people.to_json(
:include => [:user, :statistics => {:include => :attribute}]).html_safe
ただし、特定の type_id が設定されている統計のみを含めたいと思います。基本的に、ユーザーと統計との左外部結合であり、統計の atype_idはある数値に等しくなります。
少なくともいくつかのオプションを考えることができます:
Personモデルでは、オーバーライド(to_jsonまたは、おそらくもっと良いserializable_hashこと) を行い、そこで条件を実行します。{:include => :attribute}doと doの代わりに{:methods => :foo}、条件を実行しますfoo。serializable_hash役立つ場合は、オーバーライドした場所の例を次に示します。
def serializable_hash(options={})
options = {
:methods => [
'client',
'services',
'products',
'has_payments',
]}.update(options)
super(options)
end
options =上記のように、methods 配列を 1 つのものに設定する場合type_idは、探している数字である場合、またはそれ以外の場合は何かを想像することができます。