2012-06-05 4 views
3

에 대한 '찾기'내 레일 프로젝트 용 Amazon S3 업 로더를 구현 중입니다.정의되지 않은 메소드 AWS :: S3 :: Bucket : Class

모든 이미지를 변수에 할당하고 나열 할 수 있도록 버킷에 액세스하려고합니다.

내 업로드 컨트롤러에서 나의 새로운 조치를 보려고 할 때 다음과 같은 오류가 점점 계속 : 여기

undefined method `find' for AWS::S3::Bucket:Class 

은 찾기 방법은 여기 http://amazon.rubyforge.org/ 설명되어 있습니다

class UploadsController < ApplicationController 
require 'aws/s3' 

    def new 

    photo_bucket = AWS::S3::Bucket.find('photos') 
    @photos = photo_bucket.objects 
    end 
end 

내 uploads_controller.rb입니다 .

여기에 무슨 일이 일어나는가에 대한 단서가 있습니까?

감사합니다.

gem 'paperclip' 
gem 'aws-s3' 
gem 'aws-sdk' 
gem 'rails', '3.2.0' 
gem 'bcrypt-ruby', '3.0.1' 
gem 'nokogiri' 
gem 'kaminari' 
gem 'acts-as-taggable-on', '~> 2.2.2' 
gem 'omniauth-twitter' 
gem 'omniauth-facebook' 
gem "friendly_id", "~> 4.0.1" 
+0

사용중인 보석이 맞습니까? Gemfile을 보여줄 수 있습니까? –

+0

@RyanBigg 요청에 따라 Gemfile이 추가되었습니다. 올바른 보석처럼 보입니다. – Huy

+0

안녕하세요 @Huy, 나는 버킷에 액세스하려고하는 것과 같은 오류가 발생합니다. 나는 Rails 5와 aws-sdk에 있습니다. Aws :: S3 :: Bucket : Class // @songs = Aws :: S3 :: Bucket.find (Musicapp :: Application :: BUCKET) .objects에 대한 정의되지 않은 메소드'find '. aws-sdk 또는 aws-s3을 사용 했습니까? – catch22

답변

3

aws-s3과 aws-sdk는 서로 충돌하므로 함께 사용할 수 없습니다.

+0

감사합니다. Beerlington. – Huy

0

작품 여기 :

여기 내 Gemfile입니다. 콘솔로 이동하여 다음을 수행하면 어떻게됩니까?

require 'aws/s3' 
AWS::S3::Bucket.methods.find_all{|m| m=~/find/ } 

? aws-s3 0.6.3을 사용하고 있습니다. 아직 그러한 방법이 없다면 아마 aws-sdk가 범인입니까? 나는 전에 그것을 사용한 적이 없다.

관련 문제