0

我有一个从控制器中的查询获得的数组

@users

我可以在我的视图中显示结果,但我需要将它传递到“.js”文件中。

我发现我需要使用 json 所以我把它写在我的“.js”上

var dataset = {
  ex1: [<%= raw @users.to_json %>],
  ex2: [100, 200, 200, 200, 200, 200, 200, 200, 200, 200]
};

但它不起作用。通常我的视图在加载时处理静态数据,现在我需要动态地更改这些数据。

我还添加了

//= require json

但没有运气。

任何想法?

4

2 回答 2

3

您的文件必须命名为:myfile.js.erb

这意味着您的文件内容将首先针对 ruby​​ 代码进行评估,然后针对 javascript 代码进行评估。这就是为什么您的视图被命名为 myview.html.erb 或 myview.html.haml 等...... javascript 和 css 资产也是如此:它们的名称以.js.coffee.css.scss 结尾,以便它们评估 CoffeScript 或 SCSS,然后评估 Javascript 或 CSS。

于 2013-04-29T21:05:30.773 回答
1

您的 javascript 文件末尾必须有一个 erb 扩展名:这样file.js.erb您才能插入 ruby​​ 代码。

于 2013-04-29T21:05:26.017 回答