根据我在其他几个问题中读到的内容,我的控制器中定义的实例变量应该可以在我的js.erb文件中访问.他们不是.注意:我不是要渲染部分 - 只是访问变量的(字符串)内容,然后我将应用于div.
如果不是nil,我的变量会显示为truegsub并在gsub上崩溃,如果我j在它们上使用(javascript escape),在某些情况下 - 但这很接近能够区分它们是nil还是js.erb文件中存在的时间.当它们存在时,我会an empty string在firebug-console中返回console.log().
例如:
控制器代码
def myCntlMethod
@myvar = "MyVarTest"
respond_to do |format|
format.js
end
end
Run Code Online (Sandbox Code Playgroud)
js.erb代码:
console.log('<% @myvar %>');
Run Code Online (Sandbox Code Playgroud)
Firebug中的结果:
(一个空字符串)
也试过了
console.log('<% j @myvar %>');
Run Code Online (Sandbox Code Playgroud)
在这种情况下结果相同 - 如果我进行检查或在场,会崩溃吗?而......
console.log('<% j myvar %>');
Run Code Online (Sandbox Code Playgroud)
rails崩溃并告诉我变量不存在,正如预期的那样.