2015-05-04 45 views
1

我正在嘗試使用d3-rails gem在我的rails應用程序中使用d3.js。在rails中,如何從我的d3 js代碼訪問json?

我在的Gemfile既包括

gem "d3-rails" 
gem "d3js-rails" 

問題是,現在我有一個index.html.erb頁面,它以文本格式打印json(我沒有,它來自第三方api db)(不使用任何d3 )。代替文本格式,我希望d3.js啓用一些條形圖。我對Rails仍然很陌​​生,所以我很困惑。

  1. 現在我有機會獲得一個特定的JSON值,說

    @parsed_data

,並說,JSON包含以下數據。首先,那個json名字 - @parsed_data - 我能夠通過我的erb文件的ruby語言部分成功訪問,但是爲了d3的緣故,我怎麼在javascript中做同樣的事情?

{ 
    "firstName": "John", 
    "lastName": "Smith", 
    "age": 25, 
    "address": { 
    "streetAddress": "21 2nd Street", 
    "city": "New York", 
    "state": "NY", 
    "postalCode": "10021" 
    }, 
    "phoneNumber": [ 
    { 
     "type": "home", 
     "number": "212 555-1234" 
    }, 
    { 
     "type": "fax", 
     "number": "646 555-4567" 
    } 
    ], 
    "gender": { 
    "type": "male" 
    } 
} 

認識到這一點的JSON結構(但我沒有它坐在我的資產管道的地方,它是從第三方API),我怎麼會在我目前index.html.erb使用D3?

我需要一個單獨的JavaScript文件嗎?我可以用腳本標記將它嵌入到現有的View文件(index.html.erb)中嗎?

p.s.我如何在文本中顯示提取的JSON與d3無關。它只是使用Ruby語言來解析JSON。

這裏是我試圖遵循但沒有成功的教程。 http://www.overfitted.com/blog/?p=302

另外其他的stackoverflow的帖子,但我不知道如果我真的需要這個任務的AJAX。不會使用d3js-rails/d3-rails gem就足夠了嗎?對於AJAX來說也是新的(通過閱讀幾頁而崩潰了,但仍然困惑),所以如果我說的話聽起來可能很愚蠢,那麼請原諒。

ps.s.s.我的application.js中有以下內容。

//= require_tree 
//= require d3 

回答

3

我花了一段時間來解析你的問題,它非常寬泛。我認爲,如果我說得對,你的問題有兩個部分。

如何從軌道數據傳遞給JavaScript

我是能夠成功地通過我的ERB文件的Ruby語言部分的訪問,但我要如何做同樣在javascript爲D3的緣故?

對我來說,看起來你不知道如何訪問通過第三方API在你的JavaScript軌道棧中獲取的數據。

有幾個選項,在所有的解釋:

如何用d3.js顯示數據

瞭解這個JSON的結構,我將如何在我的當前index.html.erb中使用d3?

現在,爲了在d3.js中顯示您的數據,請參考問題Loading D3.js data from a simple JSON string或自己做一些研究。

我想d3.js

There is a tutorial for that使一些條形圖。

祝你好運!