我正在为我的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
此处记录了查找方法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"
答案 0 :(得分:3)
你不能一起使用aws-s3和aws-sdk,因为它们会相互冲突。
答案 1 :(得分:0)
在这里工作。如果你去控制台做什么会发生:
require 'aws/s3'
AWS::S3::Bucket.methods.find_all{|m| m=~/find/ }
?我正在使用aws-s3 0.6.3。如果还没有这样的方法,那么也许aws-sdk是罪魁祸首?我以前从没用过它。