我得出结论,我问很多不知道这个问题答案的人,很多时候我们会这样做在Gemfile中需要一定的gem并进行bundle安装,gem会被安装,但是当我们在控制器中执行某些东西时,会在本地服务器上运行它,很多次它只是抛出这个未初始化的常量:: 有时候这个错误似乎自己消失了,有时候它只是停留在试图找出这个问题到底在哪里,我觉得它的路由或配置错误。你认为这个错误在哪里?我应该在哪里看? 为了使事情更具体化,现在我使用xmpp4r gem。 我在我的gemfile中有这行“gem'xmpp4r'”,我运行了bundle install。 然后在控制器我把这两行经过了很多论坛之后,很多宝石出现了未初始化的常量错误
客户= Jabber的:: Client.new(JID)
client.auth( '1234')
消息= Jabber的::消息::新(to_jid,体).set_type(:正常).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
所以,球员在这里你去,如果你能解决这个问题,我们都非常感激。
好吧,10分钟它花费在解决这个问题在stackoverflow,欢呼的创造者和社区运行它,特别是gmile。
所以,如果你得到这样的错误,我想它的原因虚拟机不会递归地通过gem中的所有文件夹并添加所有.rb文件,我们必须特别要求我们的文件控制器。 只要进入
.rvm /宝石/红宝石1.9。2-P290 /宝石/
浪费时间,看看你是否正在试图访问的模块是存在的,然后看看它是否在创业板内的子文件夹,然后添加这些文件夹一样
需要 'gemname /子文件'
CHEERS