在我的搜索控制器中,我有一个实例变量@results
。我将其设置为返回虚拟结果'foo'
。
在我的search.html.erb视图中...我设置了window.results = <%= raw @results.to_json %>
。
在我的search.js资产文件的顶部,我console.log(results)
并获得undefined
,但是当我在页面加载后进入devtools时,结果将填充'foo'
。 console.log语句也包含在jquery ready函数中。
是什么给出了?
答案 0 :(得分:4)
Rails资产已预编译,因此无法访问来自控制器的实例变量。使用script
标记将Javascript直接嵌入到您的视图中,并像访问@results
一样访问{{1}}。您也可以启动对外部Javascript文件的调用。