2

以下を使用して、JSON レコードのリストを出力しています。

@team.people.to_json(
      :include => [:user, :statistics => {:include => :attribute}]).html_safe

ただし、特定の type_id が設定されている統計のみを含めたいと思います。基本的に、ユーザーと統計との左外部結合であり、統計の atype_idはある数値に等しくなります。

4

1 に答える 1

0

少なくともいくつかのオプションを考えることができます:

  1. Personモデルでは、オーバーライド(to_jsonまたは、おそらくもっと良いserializable_hashこと) を行い、そこで条件を実行します。
  2. {: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は、探している数字である場合、またはそれ以外の場合は何かを想像することができます。

于 2012-09-18T20:24:04.470 に答える