在 Rails 3.2.5 中,我似乎无法弄清楚如何datetime_select
在内部数组中收集许多结果params
例如,如果我有这个
<input type="text" name="poll[options][]">
<input type="text" name="poll[options][]">
然后 params 将包含所有字段params[:poll][:options]
的数组。options
这是我的datetime_select
:
datetime_select "scheduler", "options", {
add_month_numbers: true,
start_year: Date.today.year,
default: DateTime.now + 1.day,
datetime_separator: "<span>at</span>",
time_separator: "<span>:</span>",
leading_zeros: true
}
我想datetime_select
在表格中重复很多次。
模型/字段参数似乎不允许进行任何类似"scheduler[]"
或"options[]"
收集结果数组的操作datetime_select
。
我怎样才能做到这一点,以便许多日期时间对象出现在位于的数组中params[:scheduler][:options]
?
更新
这是我目前如何破解它:
datetime_select_tags = datetime_select "scheduler_selects", "", add_month_numbers:true, start_year:Date.today.year, default:DateTime.now + 1.day, datetime_separator:"<span>at</span>", time_separator:"<span>:</span>", leading_zeros:true
datetime_select_tags.gsub! 'name="scheduler_selects', 'name="scheduler[options][]'
这会产生像这样的标签
<select id="scheduler_selects__1i" name="scheduler[options][][(1i)]">
所以params
正确地包含
"scheduler" => {
"options" => [
{"(1i)"=>"2012", "(2i)"=>"6", "(3i)"=>"13", "(4i)"=>"15", "(5i)"=>"24"},
{"(1i)"=>"2012", "(2i)"=>"6", "(3i)"=>"13", "(4i)"=>"15", "(5i)"=>"24"}
],
},
我可能会尝试将其包装在帮助程序中,以便生成唯一的 HTML id 属性。不过,真的希望这不是长期的解决方案。