ruby-on-rails – Rails:在form_tag之外提交按钮

我正在使用按钮在一组选定的复选框中执行处理。该解决方案基于RailsCast#165。

这一切正常,但只有在submit_tag按钮包含在表单中(这是我的应用程序中的表格)的情况下。我想将提交按钮放在页面标题中,但这会打破与表单的连接。

如何在表单正文之外放置提交按钮?

<%= form_tag select_cosmics_path, method: :put do %>
  <%= submit_tag "Accept Checked", :class => "btn btn-primary" %> 

  <table class="table table-striped"> 
   .
   .
  <% @cosmics.each do |cosmic| %>
    <tr>
      <td><%= check_box_tag "cosmic_ids[]", cosmic.id %></td>
       .
       .
    </tr>
  <% end %>
  </table>
<% end %>

的routes.rb

resources :cosmics do
  collection do
    put :select
  end
end
最佳答案
您可以在表单外创建一个按钮,并在点击按钮时使用javascript提交表单:

HTML:

<button id="myBtn" class="btn btn-primary">Accept Checked</button>
...
<%= form_tag select_cosmics_path, method: :put, id: 'myForm' do %>
  ...
<% end %>

Javascript(使用jQuery):

$(document).ready(function() {
  $('#myBtn').on('click', function() { $('#myForm').submit(); });
});

您也可以直接在该按钮的onClick属性中添加javascript。

转载注明原文:ruby-on-rails – Rails:在form_tag之外提交按钮 - 代码日志