【问题标题】:Setup for an uploader (carrierwave)设置上传器(载波)
【发布时间】:2015-10-13 21:45:55
【问题描述】:

按照使用 gemscarrierwave 和雾的教程,我有一个图像上传器。现在我想添加一个额外的上传器,但我很挣扎。

我已生成上传器 (rails generate uploader name)。在模型文件中,我已将上传器安装到右侧列 (mount_uploader :column_name, nameUploader)。在上传器本身中,我设置了def extension_white_liststore_dir。我还包括(因为在教程中我做了同样的事情):

if Rails.env.production?
  storage :fog
else
  storage :file
end

现在我陷入困境的是我不知道在哪里设置雾的规格。也就是说,在哪里指定它应该上传到的亚马逊存储桶。在 carrier_wave 初始化程序中,我已经有了下面的代码。但是这段代码为我已经实现的上传器指定了上传到哪里。对于这个新的上传器,这些规范是不同的。我应该在哪里/如何为新上传者添加这些规范?

if Rails.env.production?   
  CarrierWave.configure do |config|
    config.fog_credentials = {
      :provider              => 'AWS',
      :aws_access_key_id     => ENV['S3_ACCESS_KEY'],
      :aws_secret_access_key => ENV['S3_SECRET_KEY'],
      :region                => ENV['AWS_REGION']
    }
    config.fog_directory     =  ENV['S3_BUCKET']
  end 
end

【问题讨论】:

  • 图像本身不是模型,您必须在模型中使用 Uploader,如下所示:class User < ActiveRecord::Base mount_uploader :avatar, AvatarUploader belongs_to :organization end
  • 我实际上有一个图像模型,它与组织模型相关联。所以organization_id 是组织模型中的列之一。在组织控制器中,new 方法调用 Image 模型中的 upload_file 方法。后续问题基本上是如何将organization_id(控制器方法已经传递给模型方法)保存在Image模型的相应列中。我认为最好的方法是在模型方法中做到这一点。但是我到底应该在提到的模型方法中添加什么?
  • 谢谢@axel,我在这里发布了一个后续问题:stackoverflow.com/q/31594988/4499505

标签: ruby-on-rails ruby ruby-on-rails-4 file-upload carrierwave


【解决方案1】:

通过查看this wiki page 似乎可以覆盖每个上传者的配置

class AvatarUploader < CarrierWave::Uploader::Base
  # Choose what kind of storage to use for this uploader:
  storage :fog

  # define some uploader specific configurations in the initializer
  # to override the global configuration
  def initialize(*)
    super

    self.fog_credentials = {
      :provider               => 'AWS',              # required
      :aws_access_key_id      => 'YOURAWSKEYID',     # required
      :aws_secret_access_key  => 'YOURAWSSECRET',    # required
    }
    self.fog_directory = "YOURBUCKET"
  end
end

【讨论】:

    猜你喜欢
    • 2012-04-28
    • 1970-01-01
    • 1970-01-01
    • 2013-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-21
    相关资源
    最近更新 更多