单个表单导轨的多个表单提交按钮4

时间:2015-04-29 11:43:09

标签: ruby-on-rails-4

我正在尝试使用一个表单,允许我删除多个帖子,根据这些帖子进行检查或执行其他操作。我正在努力从表单中访问帖子ID。如果我使用f.submit标签比我的代码工作正常。但是,当我尝试使用引导按钮时,它将无法工作。

下面是视图,其中有一个位于引导表内部的表单,然后是表格外部的提交按钮。

         <%= form_for :pending_forms, html: {method: 'get'} do |f| %>
             <table class="table">
                <tbody>
                    <% if @pending_posts.any? %>
                            <% @pending_posts.each do |post| %>
                                <tr>
                                    <td><%= post.post_name %></td>
                                    <td><%= post.created_at %></td>
                                    <td><%= check_box_tag 'post_ids[]', post.id %></td>
                                </tr>
                            <% end %>
                    <% end %>
                </tbody>
            </table>
            <button type="submit" class="btn btn-danger">Remove Post</button>
            <button type="submit" class="btn btn-primary">Go Live</button>  
        <% end %>

1 个答案:

答案 0 :(得分:0)

 if params[:commit] == "Remove Post"
   PendingPost.where(id: params[:post_ids]).destroy_all
 end
 if params[:commit] == "Go Live"
   #do some stuff
 end   

最好在form_tag范围内编写提交按钮。

<%= form_tag do %>
  <table>
    <tbody>
       <% if @pending_posts.any? %>
          <% @pending_posts.each do |post| %>
            <tr>
               <td><%= post.post_name %></td>
               <td><%= post.created_at %></td>
               <td><%= check_box_tag 'post_ids[]', post.id %></td>
            </tr>
          <% end %>
       <% end %>
    </tbody>
  </table>
  <button type="submit" class="btn btn-danger">Remove Post</button>
  <button type="submit" class="btn btn-primary">Go Live</button>  
<% end %>