我目前無法弄清楚如何將我在rails上創建的散列輸入到JavaScript代碼中,而我正在使用d3.js創建線圖以隨時間顯示數值。如何將ruby的rails數據提供給d3.js?
散列當前設置爲{:日期=>價值:日期=>值等}
我.to_json把它們變成JSON但後來我有很多的麻煩在javascript中將這些值拉到我的圖的x和y值。
任何人都可以請幫助指向正確的方向嗎?
謝謝!
我目前無法弄清楚如何將我在rails上創建的散列輸入到JavaScript代碼中,而我正在使用d3.js創建線圖以隨時間顯示數值。如何將ruby的rails數據提供給d3.js?
散列當前設置爲{:日期=>價值:日期=>值等}
我.to_json把它們變成JSON但後來我有很多的麻煩在javascript中將這些值拉到我的圖的x和y值。
任何人都可以請幫助指向正確的方向嗎?
謝謝!
有不同的方法可以做到這一點...你可以用AJAX做到這一點。
但這裏有一個非常簡單的方法來做到這一點:
<script>
<% my_ruby_hash = { foo: "bar" } %>
var jsonString = "<%= my_ruby_hash.to_json %>"
var parsedData = JSON.parse(jsonString)
</script>
我已經使用了坤寶石產生類似的圖形與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>
您的問題無關,與Rails和一切與D3.js.閱讀[文檔](https://github.com/mbostock/d3/wiki)。 – p4sh4
是的,但我只是不知道如何拉入不在txt文件中的外部數據......,只是一個紅寶石@p4sh4 – Nerl