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