Javascript 在Rails 3中对Ajax使用.js.erb(jquery.js vs.js.erb)

Javascript 在Rails 3中对Ajax使用.js.erb(jquery.js vs.js.erb),javascript,jquery,ajax,ruby-on-rails-3,Javascript,Jquery,Ajax,Ruby On Rails 3,我有两种方法可以在Rails3应用程序中实现ajax 1-在文件viewaction.js或viewaction.js.coffee中使用jquery绑定提交上的事件,并管理返回的json以修改DOM中的内容 2-在Rails中使用remote=>true标记,编写一个名为viewaction.js.erb的文件,在DOM中进行修改,并使用控制器中加载的类变量 Rails 3中推荐的方法是什么 Rails的方法是什么 最佳做法是什么 当其中一个备选方案比 其他的 大型项目的建议是什么 感谢在

我有两种方法可以在Rails3应用程序中实现ajax

1-在文件viewaction.js或viewaction.js.coffee中使用jquery绑定提交上的事件,并管理返回的json以修改DOM中的内容

2-在Rails中使用remote=>true标记,编写一个名为viewaction.js.erb的文件,在DOM中进行修改,并使用控制器中加载的类变量

  • Rails 3中推荐的方法是什么
  • Rails的方法是什么
  • 最佳做法是什么
  • 当其中一个备选方案比 其他的
  • 大型项目的建议是什么

感谢在Rails 3之前添加
:remote=>true
会在表单标记中生成一堆内联JavaScript,但是对于Rails 3 UJS,唯一的变化是添加了一个HTML 5自定义属性
data remote=true
。例如:

<%= form_for(@post, :remote => true) do |f| %>  
因此使用
:remote=>true
和常规jQuery ajax调用之间没有区别,rails就像一个包装器一样调用相同的方法。


更多信息,以及。

我明白,如果你仔细看看,没有什么区别。但是,从代码清晰性、可维护性和最佳实践的角度来看,您的观点是什么?正如我在回答中所说,rails的做法是添加:remote=>true。这使得所有rails3应用程序的代码都成为标准。我已经阅读过一些观点,认为它将应用程序的前端逻辑(有多个.js.erb)分割开来。你觉得怎么样?
<form accept-charset="UTF-8" action="/posts" class="new_post" data-remote="true" id="new_post" method="post">  
ajax: function(options) {
      return $.ajax(options);
    },