Ruby on rails 在Javascript中访问RubyOnRails变量时表示变量未定义

Ruby on rails 在Javascript中访问RubyOnRails变量时表示变量未定义,ruby-on-rails,ruby,Ruby On Rails,Ruby,我在RubyOnRails控制器(index.rb)中创建了一个名为@var\u ror 在我的javascript文件(fetchingDataFromRoR.js.erb)中,我尝试访问这个RubyOnRails变量并将其分配给一个javascript变量 var var_js = '<%= @var_ror %>' 它起作用了。但是,我不想要全局范围的变量,而且它会导致其他问题。尝试类似的方法 控制器: respond_to do |format| format.js {

我在RubyOnRails控制器(index.rb)中创建了一个名为
@var\u ror

在我的javascript文件(fetchingDataFromRoR.js.erb)中,我尝试访问这个RubyOnRails变量并将其分配给一个javascript变量

var var_js = '<%= @var_ror %>'

它起作用了。但是,我不想要全局范围的变量,而且它会导致其他问题。

尝试类似的方法

控制器:

respond_to do |format|
  format.js { render "fetchingDataFromRoR", :locals => {:var_ror => @var_ror} }
end
var var_js = <%= var_ror %>;
从ror.js.erb获取数据:

respond_to do |format|
  format.js { render "fetchingDataFromRoR", :locals => {:var_ror => @var_ror} }
end
var var_js = <%= var_ror %>;
var_js=;

您错误地混合了js和ruby。正确的语法是

var var_js = '<%= @var_ror %>'
var_js=''
原因:

@var\u ror=“some\u string”

然后你的

var\u js=

导致
var-var\u js=some\u string
,现在一些字符串看起来像一个未定义的变量,因此会抛出一个错误

我们能看到你的控制器方法吗?var-var\u js=''呢。另外,仔细查看你最好发布你的控制器操作我有引号。对我来说,错过问题中的那些是一个错误。即使有引用,我也面临这个问题。