在我的搜索 Controller 中,我有一个实例变量,@results
.我将它设置为返回一个虚拟结果,'foo'
.
在我的 search.html.erb View 中...我设置 window.results = <%= raw @results.to_json %>
.
在我的 search.js Assets 文件的顶部,我 console.log(results)
得到 undefined
,但是当我在页面加载后进入 devtools 时,结果填充了 'foo'
. console.log 语句也包含在一个 jquery 就绪函数中。
什么给了?
最佳答案
Rails Assets 是预编译的,因此它们无法访问来自 Controller 的实例变量。使用 script
标记将 Javascript 直接嵌入到您的 View 中,并像您一样访问 @results
。您还可以发起对外部 Javascript 文件的调用。
关于javascript - 将实例变量传递给 js Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27974898/