ruby-on-rails - ruby rails : time_select default value

标签 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.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 =>

但似乎没有任何效果,它甚至没有给我一个错误。我检查了 changetimetochangetimefor 中的变量,它们具有正确的值,例如“14:00”和“15:00”。但正如我所说,它没有做任何事情。

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

有人对我有什么建议或提示吗?

最佳答案

time_select 中的默认值(对于那些没有关注评论线程的人)是这样工作的:

<%= time_select :name, 'method', {options}, {:default => {:hour => '10', :minute => '30'}} %>

如果我们希望时间选择默认为 10:30。

关于ruby-on-rails - ruby rails : time_select default value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25513028/

相关文章:

mysql - 硬核常量值比查询数据库更好吗?

php - 如何在发送前拦截表单的值?

ruby-on-rails - 从 Gemfile 中删除 gem 后要做什么?

ruby-on-rails - 删除字符串中的第一个 "#"字符 - Rails

ruby-on-rails - 如何使用 Rails 或 Ruby 文档?

ruby - Chef ServerSpec SpecInfra 未初始化常量 NameError

reactjs - 如何禁用表单重置react-final-form 上的验证?

ruby-on-rails - 在 Rails 中,制作 Assets :precompile output the list of files it has precompiled?

javascript - 如何使用 js 触发 only-css 模式

sql - 如何将 "DISTINCT ON"与Arel/ActiveRecord结合使用?