Factory_girl_rails和postgres日期格式?

时间:2011-11-20 05:25:47

标签: postgresql date ruby-on-rails-3.1 factory-bot rails-postgresql

如何格式化日期以将其放入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

2 个答案:

答案 0 :(得分:2)

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

如果你继续输入那种,你可以用to_date()处理它,这可以理解它:

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

结果:

1982-01-01

有几个settings that influence processing of date/time values,最重要的是DateStyle。但是,使用to_date()的显式转换可以独立工作。

答案 1 :(得分:2)

您错过了日期字符串周围的引号:

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

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