我有一个名为time_start
的字段的表。示例:
t.time :time_start
当我尝试保存属性时,它将其保存为Hash-String。示例:
params{
"time_start(1i)"=>"2016",
"time_start(2i)"=>"10",
"time_start(3i)"=>"12",
"time_start(4i)"=>"23",
"time_start(5i)"=>"59",
}
=> "{1=>2016, 2=>10, 3=>12, 4=>23, 5=>59}"
我无法弄清楚为什么该属性正在保存字符串而不是解析为Time obj。我甚至在它之前尝试了rake db:rollback VERSION=123456546
迁移,但它仍然在rake db:migrate
之后将值保存为字符串。我不被允许放弃。
答案 0 :(得分:0)
回顾一下提交,Junior dev最初在表time_start
中将string
字段指定为B
数据类型。解决方案是获取上一次迁移的版本号(表A
),然后运行rake db:migrate VERSION=213412341234
,然后运行rake db:migrate
。它现在正确保存。