【问题标题】:Form creates multiple commit buttons in rails表单在 Rails 中创建多个提交按钮
【发布时间】:2014-11-28 12:07:48
【问题描述】:

我得到了一个看起来像这样的表格:

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

【问题讨论】:

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


    【解决方案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 更适合您的情况。毕竟你希望用户选择一个框。

    【讨论】:

    • 非常感谢!解决了按钮的问题!但是我现在如何访问参数哈希中的不同值?作为回应,我只得到 {"utf8"=>"✓", "authenticity_token"=>"OaDIn2B0yHVBAY9z7F0IOdiULu5GiqlSJV5+Ft92tbw=", "response"=>"2014-11-23 12:14:00 UTC", "commit" =>“添加”、“控制器”=>“响应”、“操作”=>“创建”}
    • 问题是 params 哈希中只有一个条目,如上所示 - 我的解决方案如下所示:
    猜你喜欢
    • 1970-01-01
    • 2016-09-24
    • 2016-04-06
    • 2011-03-20
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-30
    相关资源
    最近更新 更多