Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby Rails:通过锚定单击提交Ajax表单_Ruby_Ruby On Rails 3 - Fatal编程技术网

Ruby Rails:通过锚定单击提交Ajax表单

Ruby Rails:通过锚定单击提交Ajax表单,ruby,ruby-on-rails-3,Ruby,Ruby On Rails 3,我正在将一个现有应用程序移植到rails,该应用程序广泛使用样式化锚来提交表单: <a class="lozenge-button h25 blue" href="#"> <span class="left"></span> <span class="center">Send</span> <span class="right"></span> </a>

我正在将一个现有应用程序移植到rails,该应用程序广泛使用样式化锚来提交表单:

   <a class="lozenge-button h25 blue" href="#">
      <span class="left"></span>
      <span class="center">Send</span>
      <span class="right"></span>
   </a>
。。。但是它绕过了Ajax,执行了一个正常的表单提交来重新加载页面。

您可以试试这个

var form = $(this).closest('form');
$.post(form.attr('action'), form.serialize());

我最终以一种非常类似的方式解决了这个问题:


在Rails中,将remote:true添加到link-helper方法中。然后rails_ujs(rails不引人注目的javascript)负责通过ajax发送它。请参阅,这样您的代码将成为(在ERB中)


等
等

当我尝试使用format.html而不是format.js启动控制器操作时,它无法找到模板(表单本身通过.js模板呈现)。
var form = $(this).closest('form');
$.post(form.attr('action'), form.serialize());
<%= f.submit id: 'hidden_submit_button', style: 'display: none;' %>

<a class="lozenge-button h25 blue" href="#" onclick="$('#hidden_submit_button').click(); return false;">
    <span class="left"></span>
    <span class="center">Send</span>
    <span class="right"></span>
</a>
<%= link_to the_rails_path,remote:true,class:"lozenge-button h25 blue" do %>
 <span>etc</span>
 <span>etc</span>
<%end%>