0

Railsアプリを使用して、ユーザーに割り当てを提供し、メールでユーザーに戻って割り当てが完了したことを通知するか、その他のアクションを実行するように促します。3つのラジオボタンで表される3つの異なるアクション(後で思い出させる、別の割り当てを選択する、またはコーチから助けを得る)があります。ユーザーが一度に3つのアクションのうち1つだけを選択できるように、これらをグループ化するにはどうすればよいですか?

    <%= form_for(@assignment, :url => user_assignment_path(@user, @assignment)) do |a| %>
        <%= a.radio_button :next_reminder_date, value: (Date.today + 2) %> <h3>Remind me again in 2 days.</h3><br>
        <%= a.radio_button :coach_requested, true %> <h3>I'm stuck! Have a coach contact me.</h3><br>
        <%= a.radio_button :abandoned, true %> <h3>This sucks. Give me another assignment.</h3><br>

        <%= a.submit "Update assignment", class: "btn btn-primary btn-large" %>
    <% end %>
4

1 に答える 1

0

2つの選択肢があると思います。1つは、JavaScriptを使用して値を設定することです。いずれかの値を設定すると、他の値をリセットできます。ユーザーがJavaScriptを持っていない場合、これは機能しないため、オプション2をお勧めします。

ビューで次のようなものを使用します。

radio_button_tag :next_action, :next_reminder_date
radio_button_tag :next_action, :coach_requested
radio_button_tag :next_action, :abandoned

次に、コントローラーで:

case params[:next_action]
when :next_reminder_date
  @assignment.next_reminder_date = Date.today + 2
when :coach_requested
  @assignment.coach_requested = true
when :abandoned
  @assignment.abondoned = true
end

それがお役に立てば幸いです。

于 2013-01-04T00:15:20.423 に答える