0

我有一个 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 %>
4

1 回答 1

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

我希望这会有所帮助。

于 2013-01-04T00:15:20.423 回答