0

調査 - 質問 - 回答の 3 つのモデルがあり、それぞれが has_many/belongs_to 関係にあります。

入力フォームです。

<ol>
  <% @questions.each do |question| %>
    <%= simple_fields_for "questions[#{question.id}]" do |builder| %>
        <li>
          <%= builder.input :answer, :collection => question.answers, :as => :radio_buttons,
               :label_method => :content, :value_method => :id, :label => question.content %>
        </li>
    <% end %>
  <% end %>
</ol>

ログから radio_buttons がうまく機能していることに気付きました。

  Parameters: {"survey_id"=>"23", "commit"=>"Submit Exam", "questions"=>{"8"=>{"answer"=>"28"}, "7"=>{"answer"=>"24"}, "6"=>{"answer"=>"21"}}, "authenticity_token"=>"m/16DAjhDrEH3/8fzJLDeiqi/d+VkZJiOeqK5TuLpSw=", "utf8"=>"✓"}

このようにコントローラーの create メソッドで各値を取得できます。ここまでは順調ですね。

@checked_answers = params[:questions]

ユーザーの入力を表示ビューに表示したい。ただし、show メソッドで @checked_answers 値を使用することはできません。@checked_answersを保存するために、DBテーブルに別の列を作成する必要があるかもしれません。しかし、それは単純なデータではありません!(文字列や整数など...) DBにデータを保存しないようにする良い方法はありますか? そのパラメーターをショービューで直接使用できれば、すべての問題を解決できます!

4

1 に答える 1