0

私は DB テーブル 'question' と 'answer' を持っています。

また、回答テーブルには user_answer(boolean, default 'false') 列があります。

こんな感じにしたいです。

  1. ユーザーがラジオ ボタンをオンにすると、user_answer が「true」値に変更されます。
  2. 次に、回答表の正しい列の別の値を比較します。
  3. 最後に、質問テーブルの is_correct 列に結果を保存します。

しかし、どうすればよいかわかりません。入力フォームです。

<h1><%= @survey.name %></h1>
 <%= form_tag({:controller => "surveys", :action => "grading"}) do %>
  <ol class="questions">
   <% @survey.questions.each do |question| %>
   <li>
   <strong><%= question.content %></strong>
    <ol class="checkbox">
     <% question.answers.each do |answer| %>
       <%= radio_button_tag(answer.user_answer) %>
       <%= label("answer_".concat(answer.id.to_s).to_sym, answer.content) %>
     <% end %>
     </ol>
     <hr />
   </li>
   <% end %>
  </ol>

  <div><%= submit_tag("Submit", :class => "submit") %></div>

もちろん、エラーがあります。radio_button_tag には 2 つのパラメーターが必要です。しかし、どうすればよいかわかりません。私にお知らせください。

4

1 に答える 1

0

モデルで次のような定数を宣言します。

STATUS = [['active', true], ['Inactive', false]]

ビューで選択するためのオプションを使用します。

<%= f.select :status, options_for_select(User::STATUS) %>

役立つリソース:

http://apidock.com/rails/ActionView/Helpers/FormTagHelper/radio_button_tag

http://apidock.com/rails/ActionView/Helpers/FormOptionsHelper/options_for_select

于 2013-08-16T12:03:18.880 に答える