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