Jquery Rails5:表单远程-触发器提交

Jquery Rails5:表单远程-触发器提交,jquery,ruby-on-rails,ruby-on-rails-5,Jquery,Ruby On Rails,Ruby On Rails 5,我有一个设置了远程选项的表单。 我需要以编程方式触发提交 在Rails 4中,我使用了$('form').trigger('submit.Rails'),它可以按预期工作。 在Rails 5(5.1.2和5.0.4)中,触发该事件会导致标准提交(formdata,而不是AJAX) 关于Rails人员“submit.Rails”不是Rails项目的一部分,请参阅 有什么想法吗 更新: 表格编号: <%= form_with(model: post, remote: true) do |for

我有一个设置了远程选项的表单。 我需要以编程方式触发提交

在Rails 4中,我使用了
$('form').trigger('submit.Rails')
,它可以按预期工作。 在Rails 5(5.1.2和5.0.4)中,触发该事件会导致标准提交(formdata,而不是AJAX)

关于Rails人员“submit.Rails”不是Rails项目的一部分,请参阅

有什么想法吗

更新:

表格编号:

<%= form_with(model: post, remote: true) do |form| %>
  <% if post.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(post.errors.count, "error") %> prohibited this post from being saved:</h2>
      <ul>
      <% post.errors.full_messages.each do |message| %>
        <li><%= message %></li>
      <% end %>
      </ul>
    </div>
  <% end %>
  <div class="actions">
    <%= form.submit %>
  </div>
<% end %>

禁止保存此帖子:

如评论线程中所述,gem需要包含在
应用程序.js
文件中才能正常工作

jquery和jquery ujs文件将添加到资产管道中,供您使用。如果默认情况下它们不在app/assets/javascripts/application.js中,请添加以下行:

//= require jquery
//= require jquery_ujs
看来你错过了第二行

//= require jquery_ujs
遵循GitHub问题中的复制步骤,然后确保包含行,为我修复了该问题,javascript控制台中的
$('form').trigger('submit.rails')
开始作为

PostsController处理#创建为JS


我从未听说过
submit.rails
。它是从哪里来的?好像这是我的一部分。您能确保这包含在您的项目中吗?是的,它包含在我的项目中。为什么不直接使用
$('form')。submit()
@DeepakMahakale,因为它会导致标准提交(formdata,而不是AJAX)