我有一个CarrierWave rails上传器.我想用假用户播种数据库,所以我试图用相同的种子文件添加图像.图像在一个共同的存储空间中,所以如果我能在数据库中获取头像字符串,它们就可以工作.当它保存用户时,虽然图像没有粘附.
# db/seeds.rb user1 = User.create :email => "test1@test.com",:password => "testing",:name => "Bob Dylan",:avatar => "v1357014344/bdylan.jpg" user1.save # IRB User.first => #<User id: 1,email: "test1@test.com",name: "Bob Dylan",avatar: nil> > a = User.first > a.avatar = "v1357014344/bdylan.jpg" > a.save (10.7ms) commit transaction => true > a => #<User id: 1,avatar: nil>
解决方法
您必须按以下方式插入数据.
File.open(File.join(Rails.root,'test.jpg'))
所以整个用户创建看起来像
User.create :email => "test1@test.com",:avatar => open("v1357014344/bdylan.jpg")