Carrierwave远程附件网址不能用于创建

时间:2017-09-04 04:29:16

标签: ruby-on-rails carrierwave

我在Ruby on Rails项目中有以下名为ApplicationAttachment的模型。

我也在s3存储桶上传了文件。当我尝试将图像上传到我的模型时,我没有收到错误但是附件是nil而remote_attachment_url没有保存文件。不确定是什么问题。

我的代码就是这个

ApplicationAttachment.create!(remote_attachment_url: "http://www.jqueryscript.net/images/jQuery-Plugin-For-Fullscreen-Image-Viewer-Chroma-Gallery.jpg")

这不会返回任何错误,但它不会保存图像。

class ApplicationAttachment < ActiveRecord::Base
  mount_uploader :attachment, DeveloperReferralAttachmentUploader
  attr_accessible :id, :attachment, :remote_attachment_url, :created_at, :updated_at
end

class DeveloperReferralAttachmentUploader < CarrierWave::Uploader::Base
  storage :file
  def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end

  def extension_white_list
    %w(pdf jpg jpeg gif png)
  end
end

如何通过Carrierwave确保remote_image_url保存。

由于

1 个答案:

答案 0 :(得分:0)

我认为您可能希望明确保存附件,而不是使用create

aa = ApplicationAttachment.new(
       remote_attachment_url: "http://www.jqueryscript.net/images/jQuery-Plugin-For-Fullscreen-Image-Viewer-Chroma-Gallery.jpg"
     )
aa.save