我有一个form_tag,我将远程设置为true,但表单仍然以HTML格式提交
这是我得到的:
<%= form_tag('/permissions/update_resource', remote: true, method: :post) do %>
<!-- Form goes here -->
<% end %>
&#13;
这反过来会生成如下所示的HTML:
<form accept-charset="UTF-8" action="/permissions/update_resource" data-remote="true" method="post">
<!-- form goes here -->
</form>
&#13;
问题是,在提交表单时,请求以HTML格式发出。知道这里有什么不对吗?我完全不知所措。
我有一个简单的AJAX请求在同一个页面上工作,所以我很确定我的Rail应用程序配置正确...
答案 0 :(得分:0)
确保安装 jquery-rails
- gem 并同时包含 jquery
和 jquery_ujs
在你的js-manifest文件中(在assets/javascripts/application.js
中) - 例如像这样:
//= require jquery
//= require jquery_ujs
有关详细信息(包括通过npm的备用安装说明),请查看 jquery-ujs - Ruby on Rails unobtrusive scripting adapter for jQuery
答案 1 :(得分:0)
显然我的问题在于我如何提交表格。我在select_tag中的代码中有这个:
onchange: "this.form.submit();"
不知何故,这使表单提交为html。我将此行更改为:
onchange: "$('#update_resource_#{resource.id}').submit();"
砰! - 表单提交为js 我还是不知道为什么:-( 有人有解释,我真的很感激!