我在名为@var_ror
的RubyOnRails控制器(index.rb)中创建了一个实例变量
在我的javascript文件(fetchingDataFromRoR.js.erb)中,我尝试访问此RubyOnRails变量并将其分配给javascript变量。
var var_js = '<%= @var_ror %>'
我收到错误消息,指出@var_ror
未定义。
但是,如果我使用名为$var_ror
的全局变量并在javascript中访问它,请执行以下操作:
var var_js = '<%= $var_ror %>'
有效。但是,我不想要一个全局范围的变量,它也会导致其他问题。
答案 0 :(得分:0)
尝试这样的事情
控制器:
respond_to do |format|
format.js { render "fetchingDataFromRoR", :locals => {:var_ror => @var_ror} }
end
fetchingDataFromRoR.js.erb:
var var_js = <%= var_ror %>;
答案 1 :(得分:0)
var var_js = '<%= @var_ror %>'
<强>理由:强>
让@var_ror = "some_string"
然后你的
var var_js = <%= @var_ror %>
导致var var_js = some_string
,现在some_string看起来像一个没有定义的变量,因此会抛出错误