0

Question という名前のクラスと、Answers という名前の関連クラスがあります。グループ化された回答の数とともに、質問を JSON 形式で返したいと考えています。例として:

["question":"What's 3 x 4?", ["12":15, "10":2]]

つまり、15 人の回答者が 12 と答え、2 人が 10 と答えました。

これで、次のコードを使用して Answers から配列を返すことができます。

@answers = Answer.where(:question_id => params[:id]).count(:group => 'answer')

次のコードを使用して、各ユーザーの回答を追加することもできます。

format.json { render json: @question , :include => :answers, :conditions => {:answers => { :user_id => user_id}}}

しかし、結果の配列によってグループ化された、カウントされたものと一緒に、両方の質問を返すことはできません...

ご意見をお聞かせください?

4

1 に答える 1

1

jbuilder gemを使用して、独自の json テンプレートを作成できます。

# /app/views/question.show.json.jbuilder
if question
  json.id question.id
  json.answers do |answer|
    json.answer_text answer.text
    json.answer_count answer.count
  end
else 
  nil
end
于 2012-06-24T05:50:38.777 に答える