ruby-on-rails - 使用特定于一种模型的雾 gem 将回形针附件上传到 s3

标签 ruby-on-rails amazon-s3 paperclip fog

我正在使用雾 gem 将我的回形针附件上传到 S3。这是我的配置文件。但它会将所有型号的附件附加到 S3。我试图仅在一个模型上实现它......我找不到太多关于回形针雾的文档。

config.paperclip_defaults = {
          :storage => :fog,
          :fog_credentials => {
            provider: "AWS",
            aws_access_key_id: "AWS_ACCESS_KEY_ID",
            aws_secret_access_key: "AWS_SECRET_ACCESS_KEY"
          },
          :fog_directory => "BUCKET_NAME"
      }

最佳答案

最好的方法是为每个模型定义存储设施(我认为)

通过在环境文件中定义默认值,您将为所有模型定义这些设置。您可以为每个模型使用此代码:

<小时/>
#app/models/your_model.rb
:styles => { :medium => "x300", :thumb => "x100" },
        :default_url => "your_url",
        :storage => :s3,
        :bucket => '******',
        :s3_credentials => S3_CREDENTIALS

#config/initializers/s3.rb
S3_CREDENTIALS = { :access_key_id => ENV['S3_KEY'], :secret_access_key => ENV['S3_SECRET']}

我知道这不是 DRY,但它应该有助于解决您的问题。只需从您的环境文件中获取代码并放入您的模型

关于ruby-on-rails - 使用特定于一种模型的雾 gem 将回形针附件上传到 s3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22557223/

相关文章:

amazon-s3 - "the trustAnchors parameter must be non-empty"是什么意思?

amazon-web-services - 将数据从 S3 复制到 Redshift 挂起

twitter - 图片URL命名方案

ruby-on-rails - 使用 Paperclip 从图片中获取 GPS 元数据

file - 如何直接从 ZipEntry(RubyZip、Paperclip、Rails 3)获取临时 File 对象(具有正确的内容类型,无需写入磁盘)?

ruby-on-rails - Rails 应用程序在使用 Unicorn/nginx 组合的 DigitalOcean 上没有响应

mysql - 按属性分组并计算记录

ruby-on-rails - 使用 Sublime Text 3 突出显示 HTML 背景语法中的 ERB?

ruby-on-rails - Activeadmin 和回形针 : ArgumentError

ruby-on-rails - 如何从 Ruby 1.8.7 中的 utf-8 字符串中获取第 i 个字符?