Было бы проще отладить, если вы записали его как self.votes.create!(options)
, потому что тогда он выдаст исключение с сообщением об ошибке. Вы можете убрать это, как только решите проблему, но вы должны подумать о том, что должен возвращать ваш метод, если он не работает.
Имеет ли смысл Post#vote
возвращать nil
? Почему голосование провалено? Как ваш код обрабатывает значение nil, возвращаемое Post#vote
?
Может быть, вы просто должны переписать это как:
def vote(options)
self.votes.create!(options)
end