Heroku + s3 + скрепка - PullRequest
       15

Heroku + s3 + скрепка

2 голосов
/ 06 апреля 2011

Ребята, у меня проблема с s3 ... Я пытаюсь настроить s3 таким образом, чтобы работать со скрепкой:

has_attached_file: photo,

:storage => :s3,

:bucket => 'gallerybucket',

:styles => { :small => ["150", :png], :large => ["500", :png], :very_large => ['750x500>', :png] },


:path => ":rails_root/public/images/:class/:attachment/:id/:style_:basename.png",


:url => "/images/:class/:attachment/:id/:style_:basename.png",


:default_url => "/images/sem_imagem.gif",

:s3_credentials => {
  :access_key_id => ENV['ac'],
  :secret_access_key => ENV['sc']
}

но это всегда показывает мне эту ошибку.Я не понимаю, что я делаю здесь не так.Отсутствует ли какая-либо конфигурация?

Ответы [ 2 ]

1 голос
/ 14 июля 2011

Если у вас еще нет учетной записи s3, перейдите по ссылке:

http://aws.amazon.com/s3/

Вы должны добавить это к вашей модели контакта:

приложение / модели / contact.rb

  has_attached_file :picture, 
                     :styles => {:large => "275x450>"},
                     :storage => :s3, 
                     :s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
                     :path => "appname/:attachment/:style/:id.:extension"

Убедитесь, что ваше имя приложения - это имя вашего приложения rails на heroku. И убедитесь, что вы переименовываете изображение в любое имя, которое вы назвали.

Тогда вам нужен файл конфигурации в config/s3.yml.

development:
  bucket: bucked_name
  access_key_id: key
  secret_access_key: secret

production:
  bucket: bucked_name
  access_key_id: key
  secret_access_key: secret

Убедитесь, что вы правильно знаете ключ и секрет.

В вашем файле gem убедитесь, что у вас установлены следующие камни:

gem "aws-s3", :require => "aws/s3"
gem "paperclip"
0 голосов
/ 06 апреля 2011

Похоже, вы добавили переменные в свою учетную запись heroku, но добавили ли вы их в свой файл .bashrc?

export ACCESS_KEY_ID='acckeyid'
export SECRET_ACCESS_KEY='secacckey'

Тогда в вашем коде:

:s3_credentials => {
  :access_key_id => ENV['ACCESS_KEY_ID'],
  :secret_access_key => ENV['SECRET_ACCESS_KEY']
}

У меня есть сообщение в блоге Я написал, что тоже немного об этом говорит.

...