我的rails应用程序使用UJS在整个地方提交表单,但出于某种原因我不能在这里工作。
我很确定我正确设置了UJS(因为它可以在其他地方使用):
new byte[198]
在我看来,我有一个#application.html.erb
<%= javascript_include_tag 'application' %>
#assets/javascripts/application.js
//= require jquery
//= require jquery_ujs
和一个form_tag
,都设置为link_to
:
remote: true
单击<%= form_tag apply_tag_applications_path, remote: true, method: :post do %>
<%= submit_tag "FORM TAG SUBMIT" %>
<% end %>
<%= link_to apply_tag_applications_path, remote: true, method: :post do %>
<h1>LINK TO SUBMIT</h1>
<% end %>
按预期工作(请求格式为JS):
link_to
但点击Started POST "/tag_applications/apply" for ::1 at 2017-05-30 11:10:51 -0400
Processing by TagApplicationsController#apply as JS
通过HTML提交:
form_tag
有人可以建议可能导致第二个不能按预期工作的原因吗?
答案 0 :(得分:0)
确认您在布局或资产中引用了jquery_ujs文件。
<%= form_for @apply_tag, remote: true, method: :post do |f| %>
<%= f.submit "FORM TAG SUBMIT" %>
<% end %>
此外,远程选项仅在您将对象而不是路径传递给form_for时才有效。
这将有效
Interface