我的第一个RoR Gem:MicropostsController中的NameError#up_vote uninitialized constant VoterLove :: Voter :: Vote

时间:2011-10-20 19:25:04

标签: ruby-on-rails ruby ruby-on-rails-3 rubygems ruby-on-rails-3.1

我正在处理我的第一个RubyGem voter_love。当我安装Gem并使用up_vote方法时,我收到此错误:

NameError in MicropostsController#up_vote uninitialized constant VoterLove::Voter::Vote

我是否需要生成初始化程序或在我的代码中的某处需要Gem来初始化投票模型?

2 个答案:

答案 0 :(得分:1)

您很可能会提到不存在的类或模块。最有可能的是,您忘记了要求代码工作所需的宝石或库,或者您已经输入了错字。另一种可能性是你要引用的类是在另一个模块中。如果是这种情况,您将必须使用其全名来引用它,如下面的代码所示。

#!/usr/bin/env ruby

module MyModule
 class MyClass; end
end

c = MyModule::MyClass.new

答案 1 :(得分:1)

here开始,您的模型为VoterLove::Votes而不是VoterLove::Voter::Vote

一个简单的建议:只需采用普通的Rails应用程序架构,并使用引擎功能轻松包含所有内容(模型,控制器,视图......)。