我有一个从我的控制器中的查询获得的数组
@users
我可以在我的视图中显示结果,但我需要将其传递给“.js”文件。
我发现我需要使用json,所以我在“.js”
上写了这个var dataset = {
ex1: [<%= raw @users.to_json %>],
ex2: [100, 200, 200, 200, 200, 200, 200, 200, 200, 200]
};
但它不起作用。通常我的视图在加载时处理静态数据,现在我需要动态地改变它们。
我还添加了
//= require json
但没有运气。
有什么想法吗?
答案 0 :(得分:3)
您的文件必须命名为: myfile.js.erb
这意味着您的文件内容将首先针对javascript代码的ruby代码进行评估。 这就是您的观点被命名为myview.html.erb或myview.html.haml等的原因... javascript和css资产的方式相同:它们的名称以 .js.coffee 或 .css.scss 结尾,以便对它们进行CoffeScript或SCSS评估,然后使用Javascript或CSS。
答案 1 :(得分:1)
您的javascript文件最后必须有一个erb扩展名:file.js.erb
,以便您能够插入ruby代码。