Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.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 RubyonRails:time\u选择默认值_Ruby On Rails_Ruby_Forms_Time Select - Fatal编程技术网

Ruby on rails RubyonRails:time\u选择默认值

Ruby on rails RubyonRails:time\u选择默认值,ruby-on-rails,ruby,forms,time-select,Ruby On Rails,Ruby,Forms,Time Select,几个小时以来,我一直在寻找解决这个问题的办法。即使在stackoverflow上,也有很多建议,我尝试了所有建议,但都不适用于我的情况,我不知道为什么 我的服务器上运行的是RoR[4.1.5]的当前版本,并且我有一个表单,用户必须在其中选择“开始时间”和“结束时间”值 <p> <%= f.label :Time %><br> <%= f.time_select :timefrom, {minute_step: 60} %> to <%= f.

几个小时以来,我一直在寻找解决这个问题的办法。即使在stackoverflow上,也有很多建议,我尝试了所有建议,但都不适用于我的情况,我不知道为什么

我的服务器上运行的是RoR[4.1.5]的当前版本,并且我有一个表单,用户必须在其中选择“开始时间”和“结束时间”值

<p>
<%= f.label :Time %><br>
<%= f.time_select :timefrom, {minute_step: 60} %> to <%= f.time_select :timeto, {minute_step: 60} %>
</p>
我从数据库中获取默认值。为了获取它们,我只收集输入的最后一个时间值。这通常是一个1小时的时间框架:

<% changetimeto = (Production.select("timeto").last.timeto).strftime("%H:%M")   %>
<% changetimefrom = (Production.select("timeto").last.timeto + 3600).strftime("%H:%M")  %>
所以我试着:

<%= f.time_select :timefrom, {minute_step: 60}, :selected => changetimeto %> to <%= f.time_select :timeto, {minute_step: 60}, :selected => changetimefrom %>
或:value=>或:default=>

但似乎什么都不起作用,它甚至没有给我一个错误。我检查了changetimeto和changetimefor中的变量,它们的值是正确的,比如14:00和15:00。但正如我所说,它没有任何作用

我还尝试使用:default=>{hours:'14',minutes:'00'}等分别处理小时和分钟,但这也不起作用,甚至不会导致错误。没什么。它仍然默认为实际时间


有人给我推荐或提示吗?

时间默认值\u为那些没有遵循评论线程的人选择如下工作方式:

<%= time_select :name, 'method', {options}, {:default => {:hour => '10', :minute => '30'}} %>
如果我们希望时间选择默认为10:30

f.time_select :start, default: Time.current.change(hour: 9, min: 0)


ref:

标记帮助程序通常会有一个非哈希字段,该字段需要一个默认值,例如,选择_Tag:foo,@widget.foo | params[:foo]。对不起,我不知道你的意思,很遗憾,它不起作用。。。显示C:/i2data\u input/app/views/productions/\u form.html.erb,其中第23行出现:16:00的未定义方法“merge”:StringMy error。我误解了time_select中第二个参数的作用。我以为它是一个预填充值,但实际上它是您正在处理的对象上的一个方法,例如f.time_select:foo,:bar从f.bar获取一个值。这可能是您正在寻找的:value选项。Renra在该页面上对他自己的问题的回答对我有用,例如time_select:timeto,{minute_step:60},:default=>{:hour=>'10',:minutes=>'30'}。从外观上看,您可能需要通过操纵变量来设置小时和分钟。
f.time_select :start, default: {hour: 9, min: 0}