我想用app / db
中的seeds.rb文件预填充我的表格但是我在存储正确的数据时遇到了问题。
在表用户中,我有一个名为active的列,数据类型为tinyint。所以现在我想用seeds.rb int值存储
User.create([ { :id => 1, :firstname => 'Felix', :lastname => 'Hohlwegler', :active => 1}])
但它不存储1.它总是在数据库中存储0。
也尝试了这个:
User.create([ { :id => 1, :firstname => 'Felix', :lastname => 'Hohlwegler', :active => true}])
同样的问题它在db中存储0。
出了什么问题?
答案 0 :(得分:1)
导致此类问题的最常见问题是验证。在这种情况下,我希望用户需要电子邮件或密码。请检查是否
User.create!(
:id => 1, :firstname => 'Felix', :lastname => 'Hohlwegler', :active => true
)
传递验证并创建用户。
请注意,我使用create!
如果无法创建用户而不是仅返回未保存的用户,则会引发错误。
答案 1 :(得分:0)
适合我的解决方案:
u = User.new(
:id => 1, :firstname => 'Felix', :lastname => 'Hohlwegler', :active => 1
)
u.active = true
u.save