我听说RJS中向客户端传递js代码而不是json或html的想法让很多人感到不安,因此他们避免使用RJS。考虑到在没有RJS的Rails框架中使用jquery执行ajax的惯用方法是什么?有没有人可以给我指一个教程链接?
通过rails实现AJAX主要有两种方法:
第一种是使用js.erb
文件,链接和表单中的:remote => true
选项以及
respond_to do |format|
format.js
end
在控制器中。这里对如何实现它有一个很好的解释。
另一种方法是编写简单的Javascript(当然可以使用JQuery的帮助)来向服务器发送AJAX请求,并在客户端处理它们。使用这种方法,Javascript是在应用程序的assets文件夹中的单独JS文件中编写的。
根据我的经验,从长远来看,使用第二种方式更好,原因有三:
它为您提供了客户端和服务器端代码的完全分离。一个程序员可以只处理代码的一个方面,这是一个很大的优势。
测试单独的JS文件要比测试JS.erb文件容易得多。
它使重用javascript代码变得更容易,并在生产时对其进行打包以进行缩小等。