表单在rails中创建多个提交按钮

时间:2014-11-28 12:07:49

标签: html ruby-on-rails forms ruby-on-rails-4

我有一个看起来像这样的表格:

<h1>Title: <%= @task.title %></h1>
    Dates: <% @dates.map do |date|  %>
    <%= form_tag("/responses/create/", :method => "post", :id => @task) do %>
          <%= date.task_date %> <%= check_box_tag  "response_checkbox", date.task_date %>
        <%= submit_tag("Add") %>
    <% end %>
<% end %>

我想要的是一个复选框列表,用户可以选择一个复选框,然后用一个按钮提交表单。但是表单为每个对象生成一个提交按钮,我无法弄清楚原因!现在为此工作几个小时......

这是html输出:

<h1>Title: Weihnachtsball</h1>
Dates:
<form id="#<Task:0x000001067a6320>" method="post" action="/responses/create/" accept-charset="UTF-8">
<div style="display:none">
<input type="hidden" value="✓" name="utf8">
<input type="hidden" value="OaDIn2B0yHVBAY9z7F0IOdiULu5GiqlSJV5+Ft92tbw=" name="authenticity_token">
</div>
2014-11-10 11:11:00 UTC
<input id="response_checkbox" type="checkbox" value="2014-11-10 11:11:00 UTC" name="response_checkbox">
</form>
<form id="#<Task:0x000001067a6320>" method="post" action="/responses/create/" accept-charset="UTF-8">
<div style="display:none">
<input type="hidden" value="✓" name="utf8">
<input type="hidden" value="OaDIn2B0yHVBAY9z7F0IOdiULu5GiqlSJV5+Ft92tbw=" name="authenticity_token">
</div>
2014-11-23 12:14:00 UTC
<input id="response_checkbox" type="checkbox" value="2014-11-23 12:14:00 UTC" name="response_checkbox">
</form>
<input type="submit" value="Add" name="commit">
</div>
</div>

1 个答案:

答案 0 :(得分:1)

您需要遍历form_tag

中的日期
<h1>Title: <%= @task.title %></h1>
<%= form_tag("/responses/create/", :method => "post", :id => @task) do %>
  Dates: <% @dates.map do |date|  %>
    <%= date.task_date %> <%= radio_button_tag "response_checkbox", date.task_date %>
  <% end %>
  <%= submit_tag("Add") %>
<% end %>

应该没问题。

更新

我认为radio_button_tag对你来说更好。毕竟,您希望用户选择一个框。