2016-04-08 48 views
0

我目前無法弄清楚如何將我在rails上創建的散列輸入到JavaScript代碼中,而我正在使用d3.js創建線圖以隨時間顯示數值。如何將ruby的rails數據提供給d3.js?

散列當前設置爲{:日期=>價值:日期=>值等}

我.to_json把它們變成JSON但後來我有很多的麻煩在javascript中將這些值拉到我的圖的x和y值。

任何人都可以請幫助指向正確的方向嗎?

謝謝!

+0

您的問題無關,與Rails和一切與D3.js.閱讀[文檔](https://github.com/mbostock/d3/wiki)。 – p4sh4

+0

是的,但我只是不知道如何拉入不在txt文件中的外部數據......,只是一個紅寶石@p4sh4 – Nerl

回答

1

有不同的方法可以做到這一點...你可以用AJAX做到這一點。

但這裏有一個非常簡單的方法來做到這一點:

<script> 
    <% my_ruby_hash = { foo: "bar" } %> 
    var jsonString = "<%= my_ruby_hash.to_json %>" 
    var parsedData = JSON.parse(jsonString) 
</script> 
0

我已經使用了坤寶石產生類似的圖形與d3.js

在你的寶石文件中添加寶石坤

gem 'gon' 

在您的相關控制器中,例如我使用索引

def index 
    data = 'some data in what ever format you like' 
    gon.data = data 
end 

在你看來,你可以訪問坤數據並將它傳遞給相關的JavaScript函數

<script type="text/javascript" charset="utf-8"> 
    $(document).ready(function() { 
    var dataset = gon.data; 
    plot_graph(dataset); 
    }); 
</script> 
相關問題