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

なぜすべてをつまずかせたのかわかりませんが、コントローラーの上部にあるインクルードを削除すると:

#include AWS

そして、そのようなメソッドを次のように直接参照します。

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

それは正常に動作します。私はまだ私が間違っていたことを知りたいです。

于 2013-10-15T23:42:34.277 に答える
0

これは、名前空間Rails内で参照すると発生します。AWSモジュールの先頭に追加することで、名前空間から抜け出すことができるはず::です-つまり::Rails.root.join('public', @curAdmin.name)

于 2013-10-15T22:51:50.300 に答える