2017-08-09 9 views
0

から複数のレコードを保存し、ユーザーのnameitems_soldRailsは、私は以下のハッシュが保持しているハッシュ

{"dave"=>9, "steve"=>20} 

私はを通じて私Rawdatum Indexアクションでそれを作成した:私は今、何をしたいか

@consolidated_rawdata = Rawdatum.all.group(:user).sum(:items_sold) 

1つのアクション(ボタンを1回クリックするだけ)でreportsというテーブルに2つの列、userとを持つ両方のオブジェクトをそのハッシュ(dave & steve)から保存することですそのような:

enter image description here

どのように私はそれを達成することができますか?それは単一のアクションとして数えた場合

答えて

1

は分からないのですが、あなたは、このようなハッシュを反復処理することができます

@consolidated_rawdata.each {|name, items_sold| Report.create(user: 
    name, items_sold: items_sold)} 
+0

を働くことを願って、私はレポート

class Report < ApplicationRecord #Report.create_consolidated_rawdata def self.create_consolidated_rawdata @consolidated_rawdata = Rawdatum.all.group(:user).sum(:items_sold) @consolidated_rawdata.do |name, items_sold| Report.create(user: name, items_sold: items_sold) end end end 

ようなモデルでこれを置く記録

を保存することができますか?私のレポートでアクションを作成しますか?私は今Rawdataのインデックスアクション/ビューに入っています。 – Oliver

+0

私はあなたのアプリケーションに応じて変わると思います。レポートデータを照会してレポートを作成するReportsControllerのアクションを呼び出すボタンを作成できます。 – urielSilva

+0

ありがとうございます。あなたは私に多くの時間を救った! – Oliver

0

アクションは、その本当に簡単だけのシングルクリックである場合。私達はちょうどループは、ハッシュを投げ、私はこれは私がそれを置くために持っている

+0

どこに置く必要がありますか?私のレポートでアクションを作成しますか?私は今Rawdataのインデックスアクション/ビューに入っています。 – Oliver

+0

私はちょうど答えを – MZaragoza

+0

更新しました。私は後でこれを試して、自分のコードをより良くするでしょう。 :-) – Oliver

関連する問題