我在我的参数中得到以下代码(从一个带有simple_field_for块的haml简单形式发送。我需要的所有数据都在这里,但是我很难按照我想要的方式获取它。
我的参数:
"report_templates"=>{"1"=>{"start_year"=>"2015", "start_period"=>"", "use_concept_data"=>"0", "name"=>"Financieel jaaroverzicht", "id"=>"1"}, "3"=>{"start_year"=>"2015", "start_period"=>"", "use_concept_data"=>"0", "name"=>"Klanten", "id"=>"3"}}
我有report_templates,其中包含每个报告模板的设置。现在在控制器中我想使用这些设置为每个模板呈现.pdf报告。
我需要的是:
"1"=>{"start_year"=>"2015", "start_period"=>"", "use_concept_data"=>"0", "name"=>"Financieel jaaroverzicht", "id"=>"1"}
我现在可以通过
访问设置了params[:report_template]["1"]
然后回来
{"start_year"=>"2015", "start_period"=>"", "use_concept_data"=>"0", "name"=>"Financieel jaaroverzicht", "id"=>"1"}
但我想在我的控制器中做动态。因为report_template的id可以是任何数字。
我的控制器:
report_settings = params[:report_templates]
report_settings.each do |rs|
rs[:id]
但我没有从每个模板中获取id ..
我希望有人能帮我解决问题。
答案 0 :(得分:1)
所以,你很亲密。但是还有很多工作要做。
report_settings = params[:report_templates]
report_settings.each do |report_id, report_value|
# now you have access to the key(report_id)
# and value(report_value) both
end
如果您不需要键,只需要值,那么:
report_settings = params[:report_templates]
report_settings.each do |_, report_value|
# now you have access the value(report_value)
end
阅读Hash#each
方法以获取详细信息。