0

多くのフォーラムを通過した後、私はこの質問に対する答えを知らない多くの人にこの質問をしていると結論付けました。 、gem がインストールされますが、コントローラーで ::.something のようなことを行い、ローカルサーバーで実行すると、多くの場合、この初期化されていない定数がスローされます :: 時々、このエラーは自然に消えるようです。この問題がどこにある可能性があるかを正確に見つけようとしているとき、それは私が感じるルーティングまたは構成エラーです。このエラーはどこにあると思いますか? どこを見ればいいですか?物事をより具体的にするために、現在 xmpp4r gem を使用しています。gemfile に「gem 'xmpp4r'」という行があり、bundle install を実行しました。次に、コントローラーにこれらの2行を配置します

client = Jabber::Client.new(jid)
client.auth('1234')
message = Jabber::Message::new(to_jid, body).set_type(:normal).set_id('1')
my_muc = Jabber: :MUC::SimpleMUCClient.new(クライアント)

奇妙な部分は、クライアントまたはメッセージにエラーが発生しないことですが、MUC モジュールが見つからないというメッセージが表示されるため、rvm を調べて xmpp4r gem の物理的な場所を見つけようとしましたが、MUC が見つかりました。 rbファイルとコメントで、このように使用すると書かれています

my_muc = Jabber::MUC::SimpleMUCClient.new(my_client)

サーバーが与えたエラーは

初期化されていない定数 Jabber::MUC

皆さん、この問題を解決できれば、とても感謝しています。

わかりました。stackoverflow でこの問題を解決するのに 10 分かかりました。クリエイターとそれを実行しているコミュニティ、特に gmile に乾杯します。

したがって、このようなエラーが発生した場合、仮想マシンが gem 内のすべてのフォルダーを再帰的に調べてすべての .rb ファイルを追加しないことが原因だと思います。コントローラーでファイルを具体的に要求する必要があります。ただ行く

.rvm/gems/ruby-1.9.2-p290/gems/


ぐちゃぐちゃにして、アクセスしようとしているモジュールがそこにあるかどうかを確認し、それがgemのサブフォルダー内にあるかどうかを確認してから、それらのフォルダーを次のように追加します

「宝石名/サブフォルダー」が必要

乾杯

4

1 に答える 1

0

これをファイルの上に置いてみてください:

require 'xmpp4r'
require 'xmpp4r/muc'
于 2012-05-14T07:27:58.663 に答える