在我的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]设置为应用程序名称。有关如何在config / initializers / dragonfly.rb中对其进行自定义的方式,请参见Dragonfly documentation。您可以执行以下操作:

  require 'dragonfly'

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

  # ... etc

10-08 04:37