Ruby on rails 许多宝石的未初始化常量错误

Ruby on rails 许多宝石的未初始化常量错误,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-3.1,rubygems,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 3.1,Rubygems,在浏览了很多论坛之后,我得出结论,我问了很多不知道这个问题答案的人这个问题,很多时候,当我们确实需要Gemfile中的某个gem并进行捆绑安装时,gem会被安装,但是当我们在控制器中执行类似的操作,并在本地服务器上运行它时,很多时候它只是抛出这个未初始化的常量:: 有时这个错误似乎会自行消失,有时它只是停留在那里,试图找出这个问题的确切位置,我觉得这是一个路由或配置错误。你认为这个错误可能在哪里?我应该去哪里? 为了使事情更具体,现在我使用xmpp4r gem。 我的gem文件中有一行gem'x

在浏览了很多论坛之后,我得出结论,我问了很多不知道这个问题答案的人这个问题,很多时候,当我们确实需要Gemfile中的某个gem并进行捆绑安装时,gem会被安装,但是当我们在控制器中执行类似的操作,并在本地服务器上运行它时,很多时候它只是抛出这个未初始化的常量:: 有时这个错误似乎会自行消失,有时它只是停留在那里,试图找出这个问题的确切位置,我觉得这是一个路由或配置错误。你认为这个错误可能在哪里?我应该去哪里? 为了使事情更具体,现在我使用xmpp4r gem。 我的gem文件中有一行gem'xmpp4r',我运行了bundle安装。 然后我把这两条线放在控制器里

client=Jabber::client.newjid client.auth'1234' message=Jabber::message::newto_jid,body.set_type:normal.set_id'1' my_muc=Jabber::muc::SimpleMUCClient.newclient

奇怪的是,它没有为客户端或消息提供错误,但它说它找不到MUC模块,然后我检查了rvm,试图找到它们的物理位置xmpp4r gem,在那里我找到了MUC.rb文件,并在注释中说像这样使用

my_muc=Jabber::muc::SimpleMUCClient.newmy_客户端

服务器给出的错误为

未初始化的常量Jabber::MUC

各位,如果你们能解决这个问题,我们都会非常感激

好的,在stackoverflow上解决这个问题花了10分钟,为创建者和运行它的社区,特别是gmile,干杯

因此,如果您遇到这样的错误,我想这是因为虚拟机不会递归地遍历gem中的所有文件夹并添加所有.rb文件,我们必须特别要求控制器中的文件。 去医院吧

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

混乱一下,看看你试图访问的模块是否在那里,然后看看它是否在gem中的子文件夹中,然后像这样添加这些文件夹

需要“gemname/子文件夹”


干杯

尝试将此内容放在文件顶部:

require 'xmpp4r'
require 'xmpp4r/muc'