【问题标题】:Simple form as date not getting input简单的形式作为日期没有得到输入
【发布时间】:2014-06-10 04:20:27
【问题描述】:

我正在使用 simple_form 和 mail_form 为我的网站制作联系表格。

这是我的视图代码:

f.input :start_date, as: :date, start_year: Date.today.year, order: [:month, :year], label: false

但是,当我将 :start_date 设为必填字段时,没有从 :start_date 获得任何输入,无论我输入什么,我都会不断收到“不能为空”。

它仅在我删除 as:date 时有效,并且 start_date 包含在 mail_form 发送的电子邮件中。

【问题讨论】:

  • 确保输入正确的日期格式。 Rails 倾向于采用像 'yy-mm-dd' 这样的格式
  • Rails 日期格式其实是'yyyy-mm-dd'
  • simple_form 文档有以下示例: f.input :date_of_birth, as: :date, start_year: Date.today.year - 90, end_year: Date.today.year - 12, discard_day: true, order: [:month, :year] 我认为问题可能是它被迁移为 datetime: t.datetime :start_date

标签: ruby-on-rails simple-form


【解决方案1】:

Rails 日期格式实际上是'yyyy-mm-dd'

话虽如此,@Acacia 可能是正确的。

如果您通常是某种日期选择器,那么在您的 javascript 中,您可能希望指定日期格式,例如

format: 'yyyy-mm-dd'

所以,如果您使用的是 jQuery datepicker,那么它将是:

$(function() {
  $( "#datepicker" ).datepicker({
    format: "yyyy-mm-dd"
  });
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多