Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 提交datetime_选择的数组_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 提交datetime_选择的数组

Ruby on rails 提交datetime_选择的数组,ruby-on-rails,ruby,Ruby On Rails,Ruby,在Rails 3.2.5中,我似乎不知道如何在params的内部数组中收集许多datetime_select结果 例如,如果我有这个 <input type="text" name="poll[options][]"> <input type="text" name="poll[options][]"> 我想在表单中多次重复datetime_select 模型/字段参数似乎不允许为了收集datetime_select结果数组而欺骗任何东西,如调度器[]或选项[] 如何才

在Rails 3.2.5中,我似乎不知道如何在params的内部数组中收集许多datetime_select结果

例如,如果我有这个

<input type="text" name="poll[options][]">
<input type="text" name="poll[options][]">
我想在表单中多次重复datetime_select

模型/字段参数似乎不允许为了收集datetime_select结果数组而欺骗任何东西,如调度器[]或选项[]

如何才能使许多datetime对象出现在位于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][]'

我可能会尝试将其包装在一个助手中,以便也生成唯一的HTML id属性。不过,我真的希望这不是长期的解决方案。

通过反复试验,我发现这是可行的:

<%= form_tag :things do %>
<%= datetime_select("dates[a]", "b" ) %>
<%= datetime_select("dates[c]", "d" ) %>
<%= submit_tag 'save' %>
<% end %>

这将提供类似params[:dates][a]和params[:dates][b]的散列。我无法让内部索引与符号一起工作,我不知道如何使这些1i,2i,。。。后缀会消失。

您是否尝试过datetime\u select scheduler,options[]?@chowlett是的,它会部分生成。Rails会阻塞这些名称属性,datetime_选择的属性将相互覆盖,即即使我在页面上列出了许多属性,我也只会返回一个。1i后缀用于使用多参数赋值重新构建datetime对象。你的解决办法让我更接近了。这个答案得到的是b1i、d1i、b2i属性的单个散列,我猜是可拆分的。。。。
<select id="scheduler_selects__1i" name="scheduler[options][][(1i)]">
"scheduler" => { 
  "options" => [
    {"(1i)"=>"2012", "(2i)"=>"6", "(3i)"=>"13", "(4i)"=>"15", "(5i)"=>"24"}, 
    {"(1i)"=>"2012", "(2i)"=>"6", "(3i)"=>"13", "(4i)"=>"15", "(5i)"=>"24"}
  ],
},
<%= form_tag :things do %>
<%= datetime_select("dates[a]", "b" ) %>
<%= datetime_select("dates[c]", "d" ) %>
<%= submit_tag 'save' %>
<% end %>