我试图在我的 rails 应用程序中使用回形针设置 Amazon S3 存储。
我有一个属于“用户”的名为“资产”的模型
这是 Asset.rb 中的前几行
attr_accessible :user_id, :uploaded_file
belongs_to :user
#set up "uploaded_file" filed as attached_file(using paperclip)
has_attached_file :uploaded_file,
:path => "assets/:id/:basename.:extension",
:storage => :s3,
:s3_credentials => "#{Rails.root}/config/amazon_s3.yml",
:bucket => "XXXXX"
validates_attachment_size :uploaded_file, :less_than => 1000.megabytes
validates_attachment_presence :uploaded_file
加载视图时出现错误:
NoMethodError in AssetsController#create
undefined method `symbolize_keys' for #<String:0x00000103939258>
这是什么意思。它与“Asset.rb”中的这一行有关:s3_credentials =>“#{Rails.root}/config/amazon_s3.yml”,
我在网上查阅了一些关于如何弃用 Rails_ROOT 的讨论,所以我改用 Rails.root。仍然收到此错误。
我还将 AWS 密钥和秘密密码存储在 amazon_s3.yml 配置文件中。
这不是最佳实践,所以如果有人有任何其他想法,我很想听听。heroku 在他们的网站上说将变量作为环境变量,但是,我不确定如何在 heroku 上设置它,以及我在本地开发机器上的时候呢?那将如何运作?
我只是有点困惑,所以看看那里是否有完整的示例或教程。我能找到的只是不推荐使用的设置......
谢谢