Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails postgreSQL日期记录在Rails中仅持续到某个时间点_Ruby On Rails_Database_Postgresql_Date - Fatal编程技术网

Ruby on rails postgreSQL日期记录在Rails中仅持续到某个时间点

Ruby on rails postgreSQL日期记录在Rails中仅持续到某个时间点,ruby-on-rails,database,postgresql,date,Ruby On Rails,Database,Postgresql,Date,我正在使用postgres数据库的rails程序中植入一些简单的数据 目前,它只是将某些日期持久化到数据库中。其他时候,它在我的API中显示为null,这很奇怪。我将发布我的数据库图片、种子数据以及我的JSONAPI 这是我的桌子: create_table "pickup_deliveries", force: :cascade do |t| t.date "pickup_date" t.text "pickup_location" t.money "rate", sc

我正在使用postgres数据库的rails程序中植入一些简单的数据

目前,它只是将某些日期持久化到数据库中。其他时候,它在我的API中显示为
null
,这很奇怪。我将发布我的数据库图片、种子数据以及我的
JSON
API

这是我的桌子:

create_table "pickup_deliveries", force: :cascade do |t|
    t.date "pickup_date"
    t.text "pickup_location"
    t.money "rate", scale: 2
    t.date "delivery_date"
    t.text "delivery_location"
    t.boolean "local"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "loaded_miles", default: 0
    t.integer "deadhead_miles", default: 0
  end
以下是我的种子数据:

PickupDelivery.create(:pickup_date => '05-10-2019', :pickup_location => 'Kansas City, MO', :rate => '550.00', :delivery_date => '05-11-2019', :delivery_location => 'Wichita, KS', :local => false, :loaded_miles => '550', :deadhead_miles =>'230');
PickupDelivery.create(:pickup_date => '05-20-2019', :pickup_location => 'Kansas City, MO', :rate => '550.00', :delivery_date => '05-25-2019', :delivery_location => 'Wichita, KS', :local => false, :loaded_miles => '550', :deadhead_miles =>'230');
以下是我的
JSON
API中的持久化数据:

[
{
id: 1,
pickup_date: "2019-10-05",
pickup_location: "Kansas City, MO",
rate: "550.0",
delivery_date: "2019-11-05",
delivery_location: "Wichita, KS",
local: false,
created_at: "2019-05-09T16:14:35.312Z",
updated_at: "2019-05-09T16:14:35.312Z",
loaded_miles: 550,
deadhead_miles: 230
},
{
id: 2,
pickup_date: null,
pickup_location: "Kansas City, MO",
rate: "550.0",
delivery_date: null,
delivery_location: "Wichita, KS",
local: false,
created_at: "2019-05-09T16:14:35.319Z",
updated_at: "2019-05-09T16:14:35.319Z",
loaded_miles: 550,
deadhead_miles: 230
}
]
正如您所看到的,两个日期都以相同的格式输入,但只有一个按预期显示,而另一个显示为
null


感谢阅读。

原因是您在第二条记录中传递的格式无效

#记录1
:交货日期=>2019年11月5日
#到
交付日期:“2019-11-05”
#记录2
:交货日期=>2019年5月25日
#因为没有第25个月,所以无效
所以它变成零
此日期被解析为
dd-mm-yyyy

由于月份原因,您在第二条记录中传递的日期无效

我建议您以这种格式传递日期“dd-mm-yyyy”-“20-05-2019”

注意:即使在您的第一次记录中,日期也被解析为05日,11日为月份,2019年为年份

通过“我建议您以这种格式传递日期‘dd-mm-yyyyy’-‘20-05-2019’”“别这样”我建议您以这种格式传递日期‘yyy-mm-dd’-‘2019-05-20’,使用ISO8601标准格式通常是一个好主意。