Мой первый RoR Gem: NameError в MicropostsController # up_vote неинициализированная константа VoterLove :: Voter :: Vote - PullRequest
0 голосов
/ 20 октября 2011

Я работаю над своим первым RubyGem voter_love . Когда я устанавливаю Gem и использую метод up_vote, я получаю эту ошибку:

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

Нужно ли мне генерировать инициализатор или требовать, чтобы Gem где-то в моем коде инициализировал модель Votes?

Ответы [ 2 ]

1 голос
/ 21 октября 2011

С здесь , ваша модель VoterLove::Votes, а не VoterLove::Voter::Vote.

И простой совет: просто примите обычную архитектуру приложений Rails и используйте мощность Engine, чтобы все безболезненно включалось (модели, контроллеры, представления ...).

1 голос
/ 21 октября 2011

Скорее всего, вы ссылались на класс или модуль, который не существует.Скорее всего, вы забыли потребовать гем или библиотеку, необходимую для работы кода, или вы сделали опечатку.Другая возможность состоит в том, что класс, на который вы хотите сослаться, находится в другом модуле.Если это так, вам придется ссылаться на него с полным именем, как показано в следующем коде.

#!/usr/bin/env ruby

module MyModule
 class MyClass; end
end

c = MyModule::MyClass.new
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...