我目前无法弄清楚如何将我在ruby轨道上创建的哈希值转换为javascript代码,我正在使用d3.js创建一个线图来显示随时间变化的数值。
哈希当前设置为{:date => value,:date =>价值等}}
我做了.to_json将它们变成json但是我在javascript中将这些值拉到我的图形的x和y值时遇到了很多麻烦。
有人可以帮我指点正确的方向吗?
谢谢!
答案 0 :(得分:1)
有不同的方法可以做到这一点......你可以用AJAX做到这一点。
但这是一个非常简单的方法:
<script>
<% my_ruby_hash = { foo: "bar" } %>
var jsonString = "<%= my_ruby_hash.to_json %>"
var parsedData = JSON.parse(jsonString)
</script>
答案 1 :(得分:0)
我使用gon gem生成与d3.js相似的图形
在你的宝石文件中添加gem gon
gem 'gon'
在您的相关控制器中,例如我使用索引
def index
data = 'some data in what ever format you like'
gon.data = data
end
在您的视图中,您可以访问gon数据并将其传递给相关的javascript函数
<script type="text/javascript" charset="utf-8">
$( document ).ready(function() {
var dataset = gon.data;
plot_graph(dataset);
});
</script>