轨道用RJS的替代品

Alternatives to RJS for Rails

本文关键字:替代品 RJS 轨道      更新时间:2023-09-26

我听说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文件中编写的。

根据我的经验,从长远来看,使用第二种方式更好,原因有三:

  1. 它为您提供了客户端和服务器端代码的完全分离。一个程序员可以只处理代码的一个方面,这是一个很大的优势。

  2. 测试单独的JS文件要比测试JS.erb文件容易得多。

  3. 它使重用javascript代码变得更容易,并在生产时对其进行打包以进行缩小等。