Скрепка с S3 на Rails 3 / неинициализированная константа AWS :: S3 :: Connection - PullRequest
6 голосов
/ 01 сентября 2010

Я пытаюсь загрузить файл в s3 с помощью скрепки и получить эту ошибку при создании нового объекта и обращении к переменной:

  • Установлен гем aws-s3
  • файл s3.yml имеет правильные учетные данные

т.е.:

a = Attachment.new
a.file

NameError: uninitialized constant AWS::S3::Connection
    from /Library/Ruby/Gems/1.8/gems/aws-s3-0.6.2/lib/aws/s3/extensions.rb:206:in `const_missing'
    from /Library/Ruby/Gems/1.8/gems/aws-s3-0.6.2/lib/aws/s3.rb:32
    from /Library/Ruby/Gems/1.8/gems/aws-s3-0.6.2/lib/aws/s3.rb:31:in `class_eval'
    from /Library/Ruby/Gems/1.8/gems/aws-s3-0.6.2/lib/aws/s3.rb:31
    from /Library/Ruby/Gems/1.8/gems/paperclip-2.3.3/lib/paperclip/storage.rb:131:in `extended'
    from /Library/Ruby/Gems/1.8/gems/paperclip-2.3.3/lib/paperclip/attachment.rb:269:in `extend'
    from /Library/Ruby/Gems/1.8/gems/paperclip-2.3.3/lib/paperclip/attachment.rb:269:in `initialize_storage'
    from /Library/Ruby/Gems/1.8/gems/paperclip-2.3.3/lib/paperclip/attachment.rb:51:in `initialize'
    from /Library/Ruby/Gems/1.8/gems/paperclip-2.3.3/lib/paperclip.rb:372:in `new'
    from /Library/Ruby/Gems/1.8/gems/paperclip-2.3.3/lib/paperclip.rb:372:in `attachment_for'
    from /Library/Ruby/Gems/1.8/gems/paperclip-2.3.3/lib/paperclip.rb:270:in `file'
    from (irb):6

и вот как выглядит модель Attachment:

class Attachment < ActiveRecord::Base
  belongs_to :post

  has_attached_file :file,
    :storage => :s3,
    :s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
    :path => "/uploads/:attachment/:id/:style/:basename.:extension",
    :bucket => 'bucketname',
    :s3_permissions => :public_read
end

Ответы [ 2 ]

1 голос
/ 21 сентября 2010

Майк, ты успешно установил aws-s3 для работы с Rails 3? Я предполагаю, что да, но вы можете проверить, как мне нужно проверить это сам.

1 голос
/ 01 сентября 2010

оказался конфликтом с другим гемом s3, который я оставил в файле гема

...