我试图将业力添加到acts_as_votable。丢失的!请帮忙。
基本上,我对文章进行了赞成/反对投票。
每次他们的文章被点赞时,我想给出版商业力加 1。(当一个被否决时减去 1)。因此,简而言之,当有人对一篇文章进行投票时,该文章获得了投票,而出版商获得了业力点。
我对文章的投票工作得很好。
我按照本教程(https://masteruby.github.io/weekly-rails/2014/08/12/how-to-add-user-karma-to-rails-app.html)尝试实现将业力添加到发布者在对文章进行投票时,但我一直在日志中收到此错误。
NoMethodError - undefined method `increase_karma' for #<Publisher:0x000001055d6f00>
我已经多次运行迁移并重新启动服务器。
在我的文章控制器中(我也使用friendly_id)
def upvote
@article = Article.find_by_slug(params[:id])
@article.upvote_by current_user
@article.publisher.increase_karma
respond_to do |format|
format.html { redirect_to :back }
format.js { render layout: false }
end
end
在我的发布者控制器中
def increase_karma(count=1)
update_attribute(:karma, karma + count)
end
def decrease_karma(count=1)
update_attribute(:karma, karma - count)
end