2017-04-01 11 views
0

属性私はこのように記載されたコンバージョン率を持っているCampaignモデルを持っていますこれを達成する最良の方法は何ですか?Railsの注文モデルでネストされたが、JSONBフィールドに

編集:quota_dataデータ構造がどのように見えるかの例:

{"raw_quota_data"=> 
    [ 
    {"QuotaCPI"=>1.5, "Questions"=>nil, "Conversion"=>0, "SurveyQuotaID"=>4205891, "SurveyQuotaType"=>"Total", "OverQuotaThreshold"=>true} 
    ], 
    "available_quotas"=>[{"id"=>4205891, "cpi"=>1.0499999999999998, "name"=>"Total", "traits"=>{}, "available"=>400, "conversion"=>0}], 
    "rejectable_trait_groups"=>[] 
} 

答えて

1

あなたは基本的にデータベースからデータをフェッチした後、メモリの一種でやろうとしています。ちょうどarray.sortまたはarray.sort_by

Campaign.all.sort_by {|c| c.quota_data["raw_quota_data"][0]["Conversion"]}} 
+0

これは正しい軌道に沿って私を得た。私は降順でソートしたいので、 'atc = atc.sort {| a、b | bool_data ["raw_quota_data"] [0] ["Conversion"] <=> a.quota_data ["raw_quota_data"] [0] ["Conversion"]} ' –

+0

おそらくCampaign.all.sort_by {| c | -c.quota_data ["raw_quota_data"] [0] ["Conversion"]}}はうまくいきました。値のちょうどマイナス記号;) – shiladitya

関連する問題