复制载波图像

时间:2013-09-15 22:56:06

标签: ruby ruby-on-rails-3 amazon-s3 carrierwave

我有一个名为Book的模型,它有一个cover_image。

mount_uploader :cover_image, BookPixUploader

上传者声明如下:

class BookPixUploader < CarrierWave::Uploader::Base

  # Include RMagick or ImageScience support:
  include CarrierWave::RMagick
  CarrierWave::Uploader::ExtensionWhitelist
  # include CarrierWave::MiniMagick
  # include CarrierWave::ImageScience

  # Choose what kind of storage to use for this uploader:
  #storage :file
  storage :fog

  # Override the directory where uploaded files will be stored.
  # This is a sensible default for uploaders that are meant to be mounted:
  def store_dir
    "system/uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end

  ....

我想保存一本新书:

newbook = book.dup 
newbook.save

但它没有将新图像上传到亚马逊S3。

我试过了:

newbook = book.dup
newbook.cover_image = book.cover_image
newbook.save

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

newbook = book.dup
newbook.remote_cover_image_url = book.cover_image.url
newbook.save

如果这不起作用,您可能需要考虑以另一种方式复制属性,因为book.dup可能会对上传者产生奇怪的影响。