Скрепка с использованием S3 - PullRequest
2 голосов
/ 26 марта 2012

Я пытаюсь использовать гем Paperclip и хранить документы на Amazon S3.

В моем gemfile у меня есть:

gem 'paperclip'
gem 'aws-s3'

В моей модели у меня есть (справильное ведро и ключи):

  has_attached_file :attach,
  :storage => :s3,
  :bucket => ENV['mybucket'],
  :s3_credentials => {
    :access_key_id => ENV['mykey'],
    :secret_access_key => ENV['mysecretkey']
  }

Но я получаю следующую ошибку:

Missing credentials

Есть идеи?

Ответы [ 2 ]

1 голос
/ 26 марта 2012

Я бы сделал что-то подобное. В вашей модели

 has_attached_file :attach,
 :styles => {
 :thumb=> "100x100#"},
 :storage => :s3,
 :s3_credentials => "#{Rails.root}/config/s3.yml",
 :path => ":attachment/:id/:style/:basename.:extension",
 :bucket => 'bucket_name'

Затем создайте файл s3.yml в вашей папке конфигурации и поместите в него следующий код

development:
  bucket: bucketname
  access_key_id: xxx
  secret_access_key: xxx
test:
  bucket: bucketname
  access_key_id: xxx
  secret_access_key: xxx
production:
  bucket: bucketname
  access_key_id: xxx
secret_access_key: xxx

Это более чистый способ сделать что-то подобное.

1 голос
/ 26 марта 2012

Проверьте, действительно ли определены переменные окружения ENV['mykey'] и ENV['mysecretkey'].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...