0

Ruby on Rails ActiveRecord呼び出しを使用して、データベースから2列のデータを取得し、それらを2DJSON配列に入れてクライアントに渡そうとしています。

私はそれを1つの列で機能させています。次に、2列で機能させる必要があります。

これは私がデータベース呼び出しのためにこれまでに持っているものです:

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

これは私がコントローラーのために持っているものです:

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

これにより、次のようになります。{"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]}

2つの列を取得するために、これが私が始めた方法ですが、うまくいきません。

データベース呼び出し:

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

それは私に「:x:Symbolの未定義のメソッド `TOTAL'」と言っていますが、私はRuby on RailsとJSONに慣れていないので、これを行うのに助けを求めたいと思いました...

私の目標は、これをクライアントに渡すことです:{"totals" [['timestamp'、data]、['timestamp'、data]、etc ....]}

4

2 に答える 2

1

Railsコンソールでは、複数の列をフェッチするために、次の方法を使用することもできます。ユーザーテーブルがあり、ユーザーのIDと電子メールを印刷したい場合は、次のように実行する必要があります。

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

これは、すでに上で説明したものに代わるものです。

于 2012-11-30T06:33:15.453 に答える
1

将来この解決策を探している人のために、以下を使用して自分でこれを解決しました。

select("TOTAL, time_stamp ").map{|x| [x.TOTAL.ceil, x.time_stamp]}
于 2012-07-20T15:06:56.287 に答える