我正在尝试使用一个表单,允许我删除多个帖子,根据这些帖子进行检查或执行其他操作。我正在努力从表单中访问帖子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 %>
答案 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 %>