2

如何格式化日期以将其放入 factory_girl_rails 工厂,例如:

Factory.define(:profile) do |t|
  t.length 110
  t.shipdate 1993-04-06
end

如果重要的话,我正在使用 postgresql 和 factory_girl_rails 1.0。我得到的错误是ActiveRecord::StatementInvalid: PGError: ERROR: invalid input syntax for type date: "1982"Rails 版本是 3.1

4

2 回答 2

2

错误消息告诉我们,您试图将字符串写入'1982'日期字段,这显然是无效的。约会也需要一个月和一天。

如果你一直有这种输入,你可以用 处理它to_date(),这可以理解它:

SELECT to_date('1982', 'YYYY-MM-DD')

结果:

1982-01-01

有几个设置会影响日期/时间值的处理,最重要的是DateStyle。不过,一个明确的演员to_date()可以独立工作。

于 2011-11-20T05:56:55.250 回答
2

您缺少日期字符串周围的引号:

Factory.define(:profile) do |t|
  t.length 110
  t.shipdate '1993-04-06'
end

1993 减 4 是 1989,1989 减 6 是 1983。你确定你复制的错误信息正确吗?

于 2011-11-20T06:02:45.630 回答