ruby-on-rails - 如何设置 Dragonfly 与 S3 一起使用?

标签 ruby-on-rails ruby-on-rails-3.1 amazon-s3 dragonfly-gem

在我的 initializers/dragonfly.rb我把这个:

require 'dragonfly/rails/images'

app = Dragonfly[:app_name]
app.datastore = Dragonfly::DataStorage::S3DataStore.new({
  :bucket_name        => 'bucket_name',
  :access_key_id      => 'key...',
  :secret_access_key  => 'key...'
})

但不起作用,应用程序仍在本地保存文件。我错过了什么?

编辑:我改变了 Dragonfly[:app_name]Dragonfly[:images]它有效。为什么我需要设置 :images , 如果我可以上传任何类型的文件?

最佳答案

当您使用“dragonfly/rails/images”默认设置时,它会将 Dragonfly[:images] 设置为应用程序名称。见蜻蜓documentation了解如何在 config/initializers/dragonfly.rb 中自定义它。你可以这样做:

  require 'dragonfly'

  app = Dragonfly[:app_name]
  app.configure_with(:imagemagick)
  app.configure_with(:rails)

  # ... etc

关于ruby-on-rails - 如何设置 Dragonfly 与 S3 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6177035/

相关文章:

ruby-on-rails - ActiveRecord::RecordNotUnique 全局处理

ruby-on-rails - Rails button_to 直接触发模型中的 Action

amazon-s3 - 是否可以使用单个域的多个存储桶为 s3 设置 DNS?

javascript - PHP:将变量传递给 AWS SDK 2 上传

ruby-on-rails - Rails 应用程序作为 LDAP 或 CardDAV 服务器?

ruby-on-rails - 如果过滤器数组为空,ActiveRecord 'where' 子句不起作用

ruby-on-rails - ActiveRecord::Base.connection.execute(..) 查找名称为我试图插入到表中的值的列

amazon-web-services - 使用 Athena 或 DynamoDB 查询 S3 日志内容

ruby-on-rails-3.1 - wicked_pdf + rails 的 Assets 管道 + 生产中的 sass 导入

ruby-on-rails - 返回最近日期的 Rails 辅助函数