ruby-on-rails - 未初始化常量 AWS::S3::Base

标签 ruby-on-rails ruby

我在 lib 文件夹中有这段代码。这段代码在 rails 之外工作,但是当它从 rails Controller 调用时,我得到未初始化的常量 AWS::S3::Base 错误

require 'rubygems'
require 'aws/s3'

module S3Util

  def self.upload_file(local_file)
    mime_type = "application/octet-stream"
    bucket = "test"

    AWS::S3::Base.establish_connection!(
      :access_key_id     => '*****',
      :secret_access_key => '****'
    )

    base_name = File.basename(local_file)

    puts "**** Uploading #{local_file} as '#{base_name}' to '#{bucket}'"

    AWS::S3::S3Object.store(
      base_name,
      File.open(local_file),
      bucket,
      :content_type => mime_type
    )

    puts "***** Uploaded!"

  end
end

最佳答案

在你的 Controller 中做

require 'aws/s3'

及其对我的工作

关于ruby-on-rails - 未初始化常量 AWS::S3::Base,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9551986/

相关文章:

ruby-on-rails - 如何打印出elasticsearch创建的倒排索引?

ruby - 如何: Ruby Range that doesn't include the first value

Ruby 扩展 Date 类以添加新方法

ruby - 我将如何使用 Ruby 解析此 XML?

ruby - 为什么我不能获取数组中每个字符串的数组长度?

javascript - 如何根据 <td> 类合并行? (JavaScript)

ruby-on-rails - 试图让 delayed_job 3.0.4 作为守护进程运行

ruby-on-rails - Docker - docker-compose 'version' 没有任何配置选项

ruby-on-rails - 仅显示上周创建的帖子

ruby-on-rails - Controller 中的 Rails 辅助模块