Rails:如何在表单

时间:2018-02-28 03:48:57

标签: ruby-on-rails forms

我有一张包含名片的表格,每张卡片都有一个复选框,用户可以选择并提交。

当用户点击edit按钮时,会弹出带有编辑表单的模式。这就是我的问题:我在表单中没有表单。

我不知道这个问题的最佳方法是什么。代码(不起作用)看起来像这样:

<%= form_tag submit_names_path, method: "GET" do %>
  <% @names.each do |name| %>
    <div class="name-card">
      <%= name.first_name %>
      <%= name.last_name %>
      <%= name.telephone %>
      <input id="name_ids[<%= name.id %>]" type="checkbox" value="<%= name.id %>" name="name_ids[]">
      <label for="name_ids[<%= name.id %>]"> select </label>
      <a href="#" data-reveal-id="name-modal-<%= name.id %>"> edit </a>

      <div id="name-modal-<%= name.id %>" class="reveal-modal" data-reveal aria-labelledby="modalTitle" aria-hidden="true" role="dialog">
        <%= form_for name do |f| %>
          <%= f.text_field :first_name %>
          <%= f.text_field :last_name %>
          <%= f.text_field :telephone %>
          <%= f.submit "Complete Edit %>
        <% end %>
      </div>
    </div>
  <% end %>
  <%= button_tag "SUBMIT" %>
<% end %>

谢谢!

1 个答案:

答案 0 :(得分:1)

我认为在这种情况下你需要分开的循环。

<%= form_tag submit_names_path, method: "GET" do %>
  <% @names.each do |name| %>
    <div class="name-card">
      <%= name.first_name %>
      <%= name.last_name %>
      <%= name.telephone %>
      <input id="name_ids[<%= name.id %>]" type="checkbox" value="<%= name.id %>" name="name_ids[]">
      <label for="name_ids[<%= name.id %>]"> select </label>
      <a href="#" data-reveal-id="name-modal-<%= name.id %>"> edit </a>
    </div>
   <% end %>
  <%= button_tag "SUBMIT" %>
 <% end %>
 <% @names.each do |name| %>
  <div id="name-modal-<%= name.id %>" class="reveal-modal" data-reveal aria-labelledby="modalTitle" aria-hidden="true" role="dialog">
      <%= form_for name do |f| %>
        <%= f.text_field :first_name %>
        <%= f.text_field :last_name %>
        <%= f.text_field :telephone %>
        <%= f.submit "Complete Edit %>
      <% end %>
  </div>
<% end %>