我正在尝试在 Heroku 上使用 Paperclip 和 SWS S3 让用户上传图像。
我没有将凭据存储在 yml 文件中。我已按照 Heroku 页面上的说明进行操作: https ://devcenter.heroku.com/articles/paperclip-s3
但是,当我尝试运行我的应用程序并上传图片时,我收到了这条消息:
missing required :bucket option
Rails.root: /Users/scottsipiora/Sites/clycss
Application Trace | Framework Trace | Full Trace
app/controllers/instructors_controller.rb:63:in `block in update'
app/controllers/instructors_controller.rb:62:in `update'
这些说明没有提到任何关于在我的控制器中进行更改的内容。我已经看到一些例子告诉我输入如下内容:
在我的模型中,我有以下代码:
class Instructor < ActiveRecord::Base
attr_accessible :bio, :hometown, :name, :school, :sort_order, :started_sailing, :started_teaching, :photo
has_attached_file :photo, styles: {
thumb: '100x100>',
square: '200x200#',
medium: '300x300>'
}
end
在我的 production.rb 中,我有(显然用模拟凭据替换了我的真实凭据):
config.paperclip_defaults = {
:storage => :s3,
:s3_credentials => {
:bucket => ENV['bucket name'],
:access_key_id => ENV['key_id'],
:secret_access_key => ENV['access_key']
}
}
我还为生产和开发创建了单独的存储桶,这样事情就更干净了。
有任何想法吗?我比较新,这应该很容易。
提前致谢。