我看到这个错误:
undefined method `root' for AWS::Rails:Module
我的控制器中的相应行:
directory_name = Rails.root.join('public', @curAdmin.name)
在我最近将 aws-sdk gem 添加到我的应用程序以将静态文件和资产推送到我的 S3 存储桶之前,这一直很好。
现在似乎当我调用“Rails”时,应用程序认为我指的是 AWS 类方法。
我不知道我是如何绊倒系统来做到这一点的。
我看到这个错误:
undefined method `root' for AWS::Rails:Module
我的控制器中的相应行:
directory_name = Rails.root.join('public', @curAdmin.name)
在我最近将 aws-sdk gem 添加到我的应用程序以将静态文件和资产推送到我的 S3 存储桶之前,这一直很好。
现在似乎当我调用“Rails”时,应用程序认为我指的是 AWS 类方法。
我不知道我是如何绊倒系统来做到这一点的。
如果您在命名空间Rails内引用,就会发生这种情况AWS。您应该能够通过预先添加::到模块来退出命名空间 - 即::Rails.root.join('public', @curAdmin.name)
我不知道为什么我把所有东西都搞砸了——但是如果我删除了控制器顶部的包含:
#include AWS
然后我将这些方法直接称为:
s3 = AWS::S3.new
bucket = s3.buckets['my_bucket_here']
它工作正常。我仍然想知道我做错了什么。