Rails.root被Amazon AWS-SDK gem覆盖?

时间:2013-10-15 22:33:37

标签: ruby-on-rails ruby amazon-web-services amazon-s3 rubygems

我看到了这个错误:

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

我的控制器中的相应行:

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

这个工作正常,直到我最近将aws-sdk gem添加到我的应用程序中,以将静态文件和资产推送到我的S3存储桶。

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

我不知道我是如何绊倒系统的。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

我不知道为什么我绊倒了所有东西 - 但是如果我删除了控制器顶部的包含:

#include AWS

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

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

一切正常。我还是想知道我做错了什么。