Rails:使用ERB减慢页面将控制器变量传递给JS?

Wil*_*lor 0 javascript ruby jquery ruby-on-rails ruby-on-rails-3

我知道有两种方法可以将控制器(/ action)中定义的变量传递给JS ...

官方的方式是

.js.erb:

var banana = "<% @banana %>"
Run Code Online (Sandbox Code Playgroud)

另一种方式(我目前正在使用的是)

.html.erb

<span id="banana-variable" style="display:none"><% @banana %></span>
Run Code Online (Sandbox Code Playgroud)

.js文件

var banana = $("#banana-variable").html()
Run Code Online (Sandbox Code Playgroud)

此js文件加载到控制器上的多个操作/视图中.我不使用.erb扩展名是有道理的:用户在第一次点击控制器中的任何操作/视图时对其进行缓存.然后,当他们浏览到不​​同的页面时,他们不必下载文件的不同版本.我对吗?

lok*_*008 5

是的,是的.javascript将缓存在客户端的浏览器上.

你仍然希望发送'js'或脚本文件的数据,你可以使用这个名为Gon的 gem .