ruby-on-rails-3 – 如何使用Paperclip和s3存储在rails 3中解决
发布时间:2020-12-17 04:04:43 所属栏目:百科 来源:网络整理
导读:我有一个非常简单的模型和附件 has_attached_file :upload,:storage = :s3,:bucket = 'bestofbauer',:s3_credentials = { :access_key_id = ENV['MyAccessKEY'],:secret_access_key = ENV['MySecretKey'] } 我有一个名为bestofbauer的s3桶设置. 我知道我可以
我有一个非常简单的模型和附件
has_attached_file :upload,:storage => :s3,:bucket => 'bestofbauer',:s3_credentials => { :access_key_id => ENV['MyAccessKEY'],:secret_access_key => ENV['MySecretKey'] } 我有一个名为bestofbauer的s3桶设置. 我知道我可以将凭证重构为初始化程序,但我还没有得到这个来保存附件,所以我并不担心它. 当我运行对象及其附件的保存时,我得到: RuntimeError in RecommendationsController#create Missing credentials 我倾注了:Credentials missing when uploading photos with Paperclip and Amazon s3,但这并没有解决我的问题. 我使用以下宝石: gem "paperclip" gem "sws-sdk" gem 'aws-s3' 还有其他想法吗? 解决方法
您需要设置环境变量.这有两种不同的方法:
>每次运行rails服务器或访问S3帐户的任何其他命令时,都需要包含密钥: $MyAccessKEY=ACCESS_KEY MySecretKEY=SECRET_KEY rails server >我假设你正在使用bash所以编辑你的?/ .bash_rc或?/ .bash_profile来设置你的环境变量 export MyAccessKEY=ACCESS_KEY export MySecretKEY=SECRET_KEY 然后打开一个新的终端窗口并仔细检查它们是否已设置 $echo $MyAccessKey > ACCESS KEY PRINTS OUT HERE 如果您要部署到Heroku,那么您还需要在那里提供您的环境变量: $heroku config:add MyAccessKEY=ACCESS_KEY MySecretKEY=SECRET_KEY 你可以查看你的Heroku配置: $heroku config 它将列出您为该应用程序提供的所有配置变量. 您可能希望将S3存储桶名称也放在ENV设置中,以便在本地测试时不会弄乱存储桶. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |