関係:テーブルには多くのユーザーがいます。jsonレスポンスのキーをカスタマイズする方法は?
私のように関連付けられているユーザとテーブルの詳細を印刷するには、「含まれる」使用しています:
Table.includes(:users)
しかし、私は、ユーザーのための条件を使用している場合は、言う、などusers.active:
Table.includes(:users).where(:users => { active: true })
私はアクティブなユーザーでテーブルを取得しています。それはうまくいく。しかし、表にアクティブなユーザーがいない場合は、空を戻します。 アクティブなユーザーがいなくてもテーブルの詳細を出力する必要がありました(その場合はユーザー部分を除く)。つまり、アクティブなユーザがいる場合、それはテーブルに沿って印刷されなければならず、テーブルのみが印刷されなければならない。 だから私は、モデルのフィルタ方法を書いた:
has_many :active_users, class_name: "User", :conditions => { active: 'yes'}
そして、コントローラで:Table.includes(:active_users)
。 JSONレスポンスのために今すぐ
、:
render :json => { :table => @table.as_json(:include => :active_users) }
ので、キーが "ACTIVE_USERS" として提供されます。
しかし、私はそのキーを「ユーザー」として持ちたいと思っています。誰もゾルを提案することはできません。
TIA!