2012-07-20 39 views
0

我試圖從數據庫中抓取兩列數據,使用Ruby on Rails ActiveRecord調用並將它們放入2D JSON數組以傳遞給客戶端。Ruby On Rails將2個數據庫列映射到2D JSON數組

我讓它爲一列工作。現在我需要讓它工作2列。

這是我迄今爲止的數據庫調用:

select("TOTAL").map{|x| x.TOTAL.ceil} 

這是我的控制器:

@results = JSON.dump({ :totals => PerformanceResults.find_totals }) 

這給了我這樣的事情: {「總計「[145,132,863,693,372,74,838,91,18,172,84,90,373,161,160,173,1910,210,513,14,79,21,84,41,2630,0,93,150,2971]}

要得到兩列,這是我的開始,但它並不順利:

數據庫調用:

select("TOTAL, time_stamp ").map{|x| x.attributes.slice(:x.TOTAL.ceil, x.time_stamp)} 

它告訴我「爲未定義的方法`TOTAL」:X:符號」,我的理解,但因爲我是新來的Ruby on Rails和JSON,我想我會要求這樣做的一些幫助...

我的目標是讓這個傳遞給客戶端:{「totals」[['timestamp',data],[''時間戳',數據]等..]}

回答

1

我已經解決了這個我自己使用以下任何人在尋找這個解決方案在fut URE。

select("TOTAL, time_stamp ").map{|x| [x.TOTAL.ceil, x.time_stamp]} 
1

在rails控制檯中,要獲取多個列,還可以使用以下方法。假設你有一個用戶表,並且您想要打印的ID和電子郵件的用戶,你必須這樣做,如下圖所示:

User.all.map{|user| "#{user.id},#{user.email}"} 

這是什麼上面已經解釋的替代品。