【问题标题】:Rails datetime_select can't set default date if using prompts如果使用提示,Rails datetime_select 无法设置默认日期
【发布时间】:2011-06-19 07:00:35
【问题描述】:

我在让 datetime_select 在我的表单中工作时遇到了一些问题。我可以设置默认日期或允许提示,但不能同时设置。我真正想要的是类似的东西

      2011 June 18 hour minute

设置了日、月和年弹出窗口的默认值,但没有设置小时和分钟的默认值。如果我使用此代码:

     <%= f.datetime_select:start_time, 
        :default => Time.now, 
        :prompt => {:hour => "hour", :minute => "minute"} %>

我得到了值

     2006 January 1 hour minute 

如果我不设置提示,默认显示就好了。

    <%= f.datetime_select:start_time, :default => Time.now  %>

产量

    2011 June 18 23:53

我也尝试过只设置我想要的默认部分

    <%= f.datetime_select:start_time, 
     :default =>{:year=>Time.now.year,:month=>Time.now.month,:day=>Time.now.day}, 
  :prompt => {:hour => "hour", :minute => "minute"} %>

它的作用与将整个默认设置为 Time.now 相同。

有什么想法吗?真的不支持有提示和默认吗?

感谢您的帮助。

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3


    【解决方案1】:

    据我所知,您可能应该尝试以下几行:

    <%= f.datetime_select :start_time, :default => Time.now.strftime('%Y %B %d %H %M') %>
    

    【讨论】:

    • 嗯。这只是让我“无法将符号转换为整数”
    • 什么?我可以看到你的确切代码,或者堆栈跟踪吗?
    • &lt;%= form_for @log_entry do |f| %&gt; &lt;%= render 'shared/error_messages', :object =&gt; f.object %&gt; &lt;div class=”field_container”&gt; &lt;%= f.label :start_time %&gt; &lt;%= f.datetime_select :start_time, :default =&gt; Time.now.strftime('%Y %B %d %H %M') %&gt; &lt;/div&gt;
    • 好吧,这可能没用。我将您的确切代码行放在我的 form_for 中,以代替我对 datetime_select 的其他调用。
    • 看起来不错,您从哪里得到“无法将符号转换为整数”错误?哪一行?
    猜你喜欢
    • 1970-01-01
    • 2016-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多