aws s3 paperclip和rails 3.0错误

时间:2011-08-18 23:37:58

标签: ruby-on-rails heroku amazon-s3 paperclip

首先非常感谢您花时间阅读我的问题。谢谢!看来我在我的webapp上实现aws s3时遇到了麻烦。我有一个部署了ooku的ROR应用程序,我想允许用户将个人资料图片上传到他们的个人资料中。

我已经安装了imagemagick和paperclip来处理附件。然后有人告诉我,heroku不接受上传,我需要订阅aws-s3。这是有道理的。所以我注册了aws并将以下代码添加到我的项目中:

user.rb(model)

has_attached_file :avatar, 
                  :styles => {:small => "70x70>"},
                  :storage => :s3,
                  :s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
                  :path => ":attachment/:id/:style/:basename.:extension"


validates_attachment_size :avatar, :less_than => 1.megabytes
validates_attachment_content_type :avatar, :content_type => ['image/jpeg', 'image/png']

s3.yml(文件位于config文件夹中)注意:所有这些存储桶都存在于我的aws-s3上

development:
  bucket: my_avatar-dev
  access_key_id: amazonaccesskey
  secret_access_key: amazon_secret_access_key
test:
  bucket: myapp_avatar-test
  access_key_id: amazonaccesskey
  secret_access_key: amazon_secret_access_key
production:
  bucket: myapp_avatar-pro
  access_key_id: amazonaccesskey
  secret_access_key: amazon_secret_access_key

的Gemfile

gem 'aws-s3'

当我在开发环境(localhost)中运行应用程序时,一切正常运行......我检查了AWS,我的上传内容出现在那里;但是,当我将我的应用程序部署到heroku时,它会中断。要详细说明,该应用程序会加载登录屏幕,但只要用户登录,应用程序就会中断并重定向到错误500页:“我们很抱歉,但出现了问题。我们已收到有关此问题的通知我们很快就会看一下。“

当我隐藏以下代码(并替换:带有其他值的路径)并重新部署...应用程序加载时,但显然它缺少重定向到aws-s3所需的功能。

:storage => :s3,
:s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
:path => ":attachment/:id/:style/:basename.:extension"

正如我所提到的,我对轨道很陌生......所以我不确定我做错了什么。我是否应该将s3.yml链接到其他地方,路线或什么?也许这是我在部署时需要做的事情?我要感谢能帮助我的人,感谢您的时间!

0 个答案:

没有答案