如何为单独的字段分组单选按钮?

时间:2013-01-02 23:51:37

标签: ruby-on-rails-3 forms radio-button

我有一个rails应用程序,它为用户分配并通过电子邮件提示他们回来并注意他们的任务已完成或采取其他一些行动。我有三个不同的动作(稍后提醒我,选择不同的任务,或者从教练那里获得帮助),这些动作由三个单选按钮代表。如何对这些进行分组,以便用户一次只能选择三个操作中的一个?

    <%= 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 %>

1 个答案:

答案 0 :(得分:0)

我认为你有两种选择。一种是使用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

我希望有所帮助。