whereを使って、条件に該当するデータ(複数カラムをもつモデルの配列)を取り出したあとに、更に特定のカラム毎にグループ分けをしたく、group_byメソッドを使っているのですがうまくいきません。
具体的には以下②のところがうまくいかないのですが、group_byの用法で何か違いがあれば、ご教示いただけると助かります。
【やりたいこと&手順】
①コントローラー側
@questionary_choice = QuestionaryChoice.where(questionary_item_id: @q_item_id)
複数の@q_item_idを対象に、その番号をもつquestionary_choiceを取り出す。
質問番号1-3に関連する、選択肢が全て取り出される。(エラーなし)
②コントローラー側
@questionary_chai = @questionary_choice.group_by(:questionary_item_id)
①で取り出した質問番号1-3に関連する、選択肢全てを、質問番号毎に、グループ分けしたい。(wrong number of arguments (given 1, expected 0)のエラーあり)
questionary_item_idは、@questionary_choiceがもつカラム。
上手く取り出せると、こういうハッシュになっていると想定している
{質問番号1 => [questionary_choice1,questionary_choice2],質問番号2=> [questionary_choice3,questionary_choice4]}
③②で取り出した質問番号毎の、questionary_choiceのうち、特定のカラムのデータを順々に取り出す。(例ではcontent)
<% for v in @questionary_chai.to_a[i][1] %>
<td><%= v.content %>

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/12 15:09