Nat*_*eyn 30 ruby rake ruby-on-rails seed carrierwave
我正在尝试使用CarrierWave在Rails 3中使用图像播种数据库,但是我尝试的任何内容似乎都无法手动上传它们.
pi = ProductImage.new(:product => product)
pi.image = File.open(File.join(Rails.root, 'test.jpg'))
pi.store_image! # tried with and without this
product.product_images << pi
product.save!
Run Code Online (Sandbox Code Playgroud)
有人知道如何使用CarrierWave种子吗?
Nat*_*eyn 39
原来CarrierWave的文档有点不对劲.在项目的GitHub存储库的README中有一个更新的代码段.
简而言之,但是:
pi = ProductImage.create!(:product => product)
pi.image.store!(File.open(File.join(Rails.root, 'test.jpg')))
product.product_images << pi
product.save!
Run Code Online (Sandbox Code Playgroud)
nom*_*ime 10
只要使用mount_uploader方法将上传器安装到模型上,就可以使用相关的open方法使用carrierwave为模型设定种子.这将是实现同样事情的更简洁方式.在我的情况下,我从一个URL播种:
Game.create([
{
:title => "Title",
:uuid_old => "1e5e5822-28a1-11e0-91fa-0800200c9a66",
:link_href => "link_href",
:icon => open("http://feed.namespace.com/icon/lcgol.png"),
:updated_at => "2011-01-25 16:38:46",
:platforms => Platform.where("name = 'iPhone'"),
:summary => "Blah, blah, blah...",
:feed_position => 0,
:languages => Language.where("code = 'de'"),
:tags => Tag.where(:name => ['LCGOL', 'TR', 'action'])
},
{...
Run Code Online (Sandbox Code Playgroud)