如何使用Rails在PostgreSQL中创建日期范围

99m*_*les 3 postgresql ruby-on-rails ruby-on-rails-3 postgresql-9.2 range-types

我正在使用Rails 3.2.7和Postgres 9.2尝试创建日期范围

这就是我创造它的方式

schedule_block              = ScheduleBlock.new
schedule_block.date_range   = [Date.new, Date.new]
schedule_block.save
Run Code Online (Sandbox Code Playgroud)

这是结果查询和错误:

INSERT INTO "schedule_blocks" ("date_range") VALUES ($1) RETURNING "id"  [["date_range", [Mon, 01 Jan -4712, Mon, 01 Jan -4712]]]
PG::Error: ERROR:  malformed range literal: "---
- -4712-01-01
- -4712-01-01
"
DETAIL:  Missing left parenthesis or bracket.
: INSERT INTO "schedule_blocks" ("date_range") VALUES ($1) RETURNING "id"
   (0.1ms)  ROLLBACK
Completed 500 Internal Server Error in 496ms
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

sl_*_*bug 7

如果此拉取请求将合并,将在rails 4中可用 - https://github.com/rails/rails/pull/7345

  • 为了节省挖掘的麻烦,看看是否合并了范围的拉取请求,它就是.您可以在http://www.simontaranto.com/2013/12/31/using-postgresql-s-tsrange-range-type-with-rails.html上阅读有关使用范围(以及一些问题)的信息. (2认同)