【问题标题】:Carrierwave and Heroku does not work with seedingCarrierwave 和 Heroku 不适用于播种
【发布时间】:2015-03-07 12:07:08
【问题描述】:

我以这种方式配置了载波上传器:

class PortraitUploader < CarrierWave::Uploader::Base

    # Include RMagick or MiniMagick support:
    include CarrierWave::RMagick
    # include CarrierWave::MiniMagick

    # 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
        "#{Rails.root}/public/images/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
    end

    def cache_dir
        "#{Rails.root}/tmp/uploads"
    end
end

而我的种子是这样的:

Portrait.create({
    main: true,
    image: open('http://some-image-out-there.jpg'),
    customer: @hatakeda
})

100% 正在开发中。

将我的应用上传到 Heroku 时,我仍然可以使用上传器手动设置图片,无论是上传还是发送 url

但是,您的种子创建的图片网址不显示图片 - 404 错误。

我怎样才能让 Carrierwave、Heroku 和我的种子一起愉快地工作?

【问题讨论】:

  • “不起作用”——这是什么意思?
  • 您是否要在 heroku 上存储图像?简短的回答:你不能。如果上传成功,这些文件将在您下次部署期间或工作人员因任何原因重新启动时被擦除。看看stackoverflow.com/questions/23102185/…
  • @basia 我明白了。这太糟糕了。感谢您的信息 - 让它回答,我会接受。

标签: ruby-on-rails heroku carrierwave seeding


【解决方案1】:

您是否要在 heroku 上存储图像?简短的回答:你不能,因为 Heroku 是只读的 (ephemeral writeable filesystem)。如果上传成功,这些文件将在您下一次部署期间或工作人员因任何原因重新启动时被擦除。看看Carrierwave store images locally not on s3 at heroku

【讨论】:

    猜你喜欢
    • 2018-05-19
    • 1970-01-01
    • 2017-06-30
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-11
    相关资源
    最近更新 更多