3

Rails プロジェクト用に Amazon S3 アップローダの実装に取り​​組んでいます。

すべての画像を変数に割り当てて一覧表示できるように、バケットにアクセスしようとしています。

アップロード コントローラーで新しいアクションを表示しようとすると、次のエラーが発生し続けます。

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

ここに私のuploads_controller.rbがあります

class UploadsController < ApplicationController
require 'aws/s3'

  def new

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

find メソッドはhttp://amazon.rubyforge.org/に記載されています。

ここで何が起こっているのか手がかりはありますか?

ありがとう。

これが私のGemfileです:

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"
4

2 に答える 2

3

aws-s3 と aws-sdk は競合するため、一緒に使用することはできません。

于 2012-06-05T11:19:31.817 に答える
0

ここで動作します。コンソールに移動して次のことを行うとどうなりますか。

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

? 私はaws-s3 0.6.3を使用しています。そのような方法がまだない場合、おそらく aws-sdk が原因でしょうか? 以前は使用したことがありません。

于 2012-06-05T06:00:50.013 に答える