我尝试创建一个带有图像的记录,带有create的directyl和带有模型的
Banner.create( start_at:Time.now, 位置:'site', image_fr:File.new(“#{Rails.root} /db/seeds/images/banners/pdfs/gift_voucher_bottom.png”,'r'), image_de:File.new(“#{Rails.root} /db/seeds/images/banners/pdfs/gift_voucher_bottom.png”,'r'), 宽度:595, 身高:零 )
我必须在创作时刻做,而不是在.attach之后,因为验证。我们可以这样做吗?
答案 0 :(得分:1)
您可以将一个块传递给create
。它会在保存之前用新记录调用:
Banner.create(start_at: Time.now, location: 'site', width: 595, height: nil) do |banner|
Rails.root.join('db/seeds/images/banners/pdfs/gift_voucher_bottom.png').open('rb') do |io|
banner.image_fr.attach(io: io, filename: 'banner.png', content_type: 'image/png')
end
# ...
end