rake db:seed期间的问题,值没有正确设置

时间:2015-03-25 20:54:24

标签: ruby-on-rails ruby rake

我想用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。

出了什么问题?

2 个答案:

答案 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