0
我是RoR的新手。我正在使用Rails 5和aws-sdk gem。访问一个桶aws-sdk Rails 5
这是我正在尝试构建的第二个webapp,如果你在我的代码中发现一个大胡说,那么我就没有这个意义了......我正在关注2011年制作的教程,因此它使用gem aws/S3。我挣扎在使用AWS-SDK明确方向相关,所以这里是我的问题:
我试图访问一个桶和我一直运行到错误:
undefined method `find' for Aws::S3::Bucket:Class
关于:
@songs = Aws::S3::Bucket.find(Musicapp::Application::S3_BUCKET).objects
CONFIG> application.rb中
require 'aws-sdk'
module Musicapp
class Application < Rails::Application
Aws.config.update({
region: 'eu-central-1',
credentials: Aws::Credentials.new('abc', 'xyz')
})
s3 = Aws::S3::Resource.new(region: 'eu-central-1')
S3_BUCKET = s3.bucket(ENV['S3_BUCKET'])
end
end
CONFIG> APPLICATION.YML
个development:
AWS_ACCESS_KEY_ID: 'abc'
AWS_SECRET_ACCESS_KEY: 'xyz'
S3_BUCKET: 'mp3playlist'
控制器> SONGS_CONTROLLER.RB
class SongsController < ApplicationController
def index
@songs = Aws::S3::Bucket.find(Musicapp::Application::S3_BUCKET).objects
end
的Gemfile
gem 'aws-sdk'
感谢大卫的回答,但是这提高另一个错误: 未定义的方法'对象的零:NilClass你是什么意思? OBJECT_ID – catch22