ruby-on-rails - sqlite3 数据库中的日期在 Rails 中返回为 nil

标签 ruby-on-rails ruby sqlite

我一直在想如何设计这个问题,这样 Google 就会给我一个相关的结果,因为它必须是我遗漏的非常简单的东西。我使用以下命令创建了一个简单的单表 Rails 应用程序:

rails g scaffold sick name:text sick_day:date shift:text hours:decimal

我运行了 rake db:migrate 并且运行良好。然后我使用 Firefox 中的 SQLite Manager 导入数据。这是 CSV 文件的前三行:

name,sick_day,shift,hours,created_at,updated_at
"Doe, Jane",3/3/2015,C,24,4/12/16,4/12/16
"Smith, John",1/20/2015,C,4,4/12/16,4/12/16
"Smith, John",3/27/2015,C,24,4/12/16,4/12/16

我使用 Excel 插入了 created_at 和 updated_at 日期,因为它们是 not_null 字段。它很好用。我可以使用 SQLite Manager 浏览数据库并查看所有内容:

data sample

但是当我使用 Rails 控制台查询数据库时,我得到:

Sick Load (3.2ms)  SELECT  "sicks".* FROM "sicks" LIMIT 3
 => #<ActiveRecord::Relation [
#<Sick name: "Doe, Jane", sick_day: "2015-03-03 00:00:00", shift: "C", hours: 24.0, created_at: "2004-12-16 00:00:00", updated_at: "2004-12-16 00:00:00">, 
#<Sick name: "Smith, John", sick_day: nil, shift: "C", hours: 4.0, created_at: "2004-12-16 00:00:00", updated_at: "2004-12-16 00:00:00">, 
#<Sick name: ""Smith, John", sick_day: nil, shift: "C", hours: 24.0, created_at: "2004-12-16 00:00:00", updated_at: "2004-12-16 00:00:00">]> 

知道为什么我的日期为零吗?他们肯定在数据库中,我不明白为什么它会理解某些日期而不理解其他日期?我错过了什么?

最佳答案

我修复了它,但它不起作用似乎仍然很奇怪。我尝试将 CSV 文件更改为:

name,sick_day,shift,hours,created_at,updated_at
"Doe, Jane",3/3/15,C,24,4/12/16,4/12/16
"Smith, John",1/20/15,C,4,4/12/16,4/12/16
"Smith, John",3/27/15,C,24,4/12/16,4/12/16

然后重新导入,还是不行。然后我使用 Excel 更改格式并将其转换为以下格式的实际文本列:

name,sick_day,shift,hours,created_at,updated_at
"Doe, Jane",2015/3/3,C,24,4/12/16,4/12/16
"Smith, John",2015/1/20,C,4,4/12/16,4/12/16
"Smith, John",2015/3/27,C,24,4/12/16,4/12/16

并重新导入它。现在 Rails 很高兴。 ???

关于ruby-on-rails - sqlite3 数据库中的日期在 Rails 中返回为 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36581892/

相关文章:

ruby-on-rails - 如何动态声明这些实例方法?

ruby-on-rails - 为什么我得到未定义的方法 `cookies' ?

android - 如何在 OrmLite 中获取列/字段名称?

asp.net - XML 与 SQlite 与 Access

sql - 使用连接表选择属于另外两个的行

javascript - 为什么 Rails 默认不在 HTML 页面底部包含 Javascript 文件?

ruby - 从 Ruby Gem 中排除大型测试文件的最佳实践

ruby-on-rails - 如何在 View 中只运行一次代码

ruby - 无法在 Ruby 2.0 上修改卡住的 Fixnum

python - 仅将数据框中的值插入数据库中的相应行