2016-07-25 37 views
1

当我处理具有多个记录的表单时,我有以下参数。我希望能够对每个单独的活动进行相应的处理。将参数拆分为零部件

Parameters: {"utf8"=>"✓", "authenticity_token"=>"F2Mciu313dYUBOh7Ju0gSXrKa/yz6D6qZlVBMKOch4k=", "campaign"=>{"2"=>{"start_date"=>"2016-07-18 15:43:00", "end_date"=>"2016-10-15 12:20:00", "merchant_revenue"=>"10", "status"=>"Rejected", "notes"=>"aaaaaaaaaaaaaaaaaaaaaaaaaaa"}, "1"=>{"start_date"=>"2016-07-15 12:20:00", "end_date"=>"", "merchant_revenue"=>"10", "status"=>"Rejected", "notes"=>"bbbbbbbbbbbbbbbbbbbbbbbbbb"}}, "Commit"=>"Process"} 

如何拆分此数据,以便每条记录都包含一个广告系列。谢谢。

+0

你想循环广告系列对象吗? – titan

+0

是的。我希望能够记录每一条记录并对其进行处理。 – EamonnMcElroy

+0

参数具有比较值,如散列在散列中。所以你可以在'params ['compaign']''上使用'.each'循环来循环它 –

回答

2

如果你想遍历所有的活动对象的方式,那么你可以试试这个:

params["campaign"].each do |k,v| 
    puts v 
end 

v将包含每个广告系列的PARAMS。希望它能帮助你走向正确的方向。

3

你有运动哈希刚刚超过它循环和处理散列值

params["campaign"].each do |_key, value| 
    # process(value) 
end 
0

如前所述别人,你需要做的是循环在活动对象来访问每个项目。一旦你获得访问权限,你可以这样处理:

params[:campaign].each do |key,value| 
    value[:status] # gives you the value of status key in each campaign 
end