2017-03-01 66 views
0

我使用 的Rails:4.2.7和 Postgress:9.3保存零的日期範圍爲同一日期的Rails 4.2.7

遷移

def change 
    create_table :category do |t| 
    t.float :price 
    t.daterange :date_range 
    t.timestamps null: false 
    end 
end 

當我試圖挽救與DATE_RANGE同日

from = Date.today.beginning_of_day 
to = Date.today.end_of_day 

Category.create(date_range: from..to) 

存檔nil對於date_range

它完美地工作,如果日期是不同的像

from = Date.yesterday.beginning_of_day 
to = Date.today.end_of_day 

一種解決方案是從和創建單獨的列。

+0

'date_range'字段的字段類型是什麼。 ? – rohit

+0

字段類型是日期範圍。 –

回答

1

Dateranges只能對日期,那是你一天都將被截斷爲today的一天結束的開始創建空的範圍(這顯然是翻譯爲nil

什麼是你最有可能的意思是使用Date.today(含)Date.tomorrow(獨家)

如果你真的想存儲你應該使用tsrange的時間。

+0

對不起,實際上不知道鐵路術語:/ – edruid

+0

感謝edruid,其作品 –