我正在处理我的第一个RubyGem voter_love。当我安装Gem并使用up_vote方法时,我收到此错误:
NameError in MicropostsController#up_vote
uninitialized constant VoterLove::Voter::Vote
我是否需要生成初始化程序或在我的代码中的某处需要Gem来初始化投票模型?
答案 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应用程序架构,并使用引擎功能轻松包含所有内容(模型,控制器,视图......)。