【问题标题】:Rails -- Can't set value for date_select in formRails - 无法在表单中设置 date_select 的值
【发布时间】:2010-06-05 17:31:53
【问题描述】:

我从 API 中提取数据,其中日期数据为“2008-02-11 00:00:00”

我希望这些数据在 date_select 中作为一个值进入我的表单,以便在将其添加到我的数据库之前正确查看它。

视图看起来像

<%= f.label :start_date %><br />
<%= f.date_select :start_date, :value => " #{@stdate[idx]} " %>

该对象实际上是一个日期数组,因为我多次执行此操作,这就是 [idx] 存在的原因;用作索引。

最终输出“2008-02-11 00:00:00”,但 date_select 帮助器的字段仅输出当前日期“2010”“June”“5”那些下拉日期选择字段...

我需要单独设置年、月和日的值吗?我有慢性病,并试图在将其用作 date_select 的值之前解析该对象,但这也不起作用。

有什么想法吗?

【问题讨论】:

    标签: ruby-on-rails datetime forms date


    【解决方案1】:

    您不会使用 :value 选项,而是使用 :default 选项并将 DateTime 对象传递给它。

    【讨论】:

      【解决方案2】:

      date_select 没有 :value 选项。在您的示例中,下拉列表的值将从您在启动表单构建器 f 时传入的任何对象的 start_date 属性中获取。

      在此对象上,您可以在渲染之前简单地设置start_date 属性,即使您实际上并未将其保存在那里。

      还有一个select_date 帮助器,它是不链接到对象的变体,只允许您传递一个值。但这需要更多的体力劳动,因为它不适用于 update_attributes

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-29
        • 2013-08-30
        相关资源
        最近更新 更多