Ruby on rails 未定义的方法'find';对于AWS::S3::Bucket:Class

Ruby on rails 未定义的方法'find';对于AWS::S3::Bucket:Class,ruby-on-rails,ruby-on-rails-3,amazon-s3,Ruby On Rails,Ruby On Rails 3,Amazon S3,我正在为我的rails项目实现一个AmazonS3上传程序 我正在尝试访问一个bucket,以便将所有图像分配给一个变量并列出它们 当我尝试在上载控制器中查看我的新操作时,我不断遇到以下错误: undefined method `find' for AWS::S3::Bucket:Class 这是我的上传_controller.rb class UploadsController < ApplicationController require 'aws/s3' def new

我正在为我的rails项目实现一个AmazonS3上传程序

我正在尝试访问一个bucket,以便将所有图像分配给一个变量并列出它们

当我尝试在上载控制器中查看我的新操作时,我不断遇到以下错误:

undefined method `find' for AWS::S3::Bucket:Class
这是我的上传_controller.rb

class UploadsController < ApplicationController
require 'aws/s3'

  def new

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

在这里工作。如果转到控制台并执行以下操作,会发生什么情况:

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

??我使用的是aws-S30.6.3。如果仍然没有这样的方法,那么aws sdk可能就是罪魁祸首?我以前从未使用过它。

您不能同时使用aws-s3和aws sdk,因为它们会相互冲突。

您确定您使用的是gem吗?您能给我们看一下您的Gemfile吗?@RyanBigg根据您的请求添加了Gemfile。看起来像是正确的宝石。嗨@Huy,我在尝试访问一个桶时遇到了同样的错误。我在Rails 5和aws sdk上。Aws::S3::Bucket:Class/@songs=Aws::S3::Bucket.find(Musicapp::Application::Bucket.objects)的未定义方法“find”。您使用过aws sdk还是aws-s3?@JenLijó这是几年前的事了。我不记得了。
require 'aws/s3'
AWS::S3::Bucket.methods.find_all{|m| m=~/find/ }