0

我看到这个错误:

undefined method `root' for AWS::Rails:Module

我的控制器中的相应行:

directory_name = Rails.root.join('public', @curAdmin.name)

在我最近将 aws-sdk gem 添加到我的应用程序以将静态文件和资产推送到我的 S3 存储桶之前,这一直很好。

现在似乎当我调用“Rails”时,应用程序认为我指的是 AWS 类方法。

我不知道我是如何绊倒系统来做到这一点的。

4

2 回答 2

0

如果您在命名空间Rails内引用,就会发生这种情况AWS。您应该能够通过预先添加::到模块来退出命名空间 - 即::Rails.root.join('public', @curAdmin.name)

于 2013-10-15T22:51:50.300 回答
0

我不知道为什么我把所有东西都搞砸了——但是如果我删除了控制器顶部的包含:

#include AWS

然后我将这些方法直接称为:

s3 = AWS::S3.new
bucket = s3.buckets['my_bucket_here']

它工作正常。我仍然想知道我做错了什么。

于 2013-10-15T23:42:34.277 回答