在rails我发送一个var来查看,但在js文件中是nil

时间:2016-08-08 19:01:04

标签: javascript ruby-on-rails erb

我发送一个var in rails在视图中使用它,我有一个js文件名tables.js.erb被调用,我需要在该js文件中使用var但是为nil

在我的控制器中有一个方法

  def index
    @asd = 'hellow'
  end

在我看来我能做到

.div= @asd

但在我的javascript文件中

alert('<%= @asd %>');

@asd var是nil,我已经使用其他ruby代码进行了测试,但vars不起作用

1 个答案:

答案 0 :(得分:2)

这不是ERB如何使用JavaScript。 JS文件是在运行时之前生成的,因此它们无法访问动态服务器值。

我通常遵循的模式是将服务器生成的值放在DOM中的某个位置以供JS选择。

<div id="asd" data-asd="<%= @asd %>">

然后,如果你正在使用jQuery,例如:

var asd = $('#asd').data('asd');