试图将业力添加到 acts_as_votable
Trying to add karma to acts_as_votable
我正在尝试给 acts_as_votable 添加业力。丢失!请帮忙。
基本上我对文章有 up/down 投票。
每当发布者的文章获得赞成票时,我都想将他们的业力加 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
Rails 抛出错误的原因是您的发布者模型没有 increase_karma
方法。
increase_karma
和 decrease_karma
方法应该从 Publisher
控制器移动到 Publisher
模型,它应该消除错误。
def increase_karma(count=1)
update_attribute(:karma, karma + count)
end
def decrease_karma(count=1)
update_attribute(:karma, karma - count)
end
我正在尝试给 acts_as_votable 添加业力。丢失!请帮忙。
基本上我对文章有 up/down 投票。
每当发布者的文章获得赞成票时,我都想将他们的业力加 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
Rails 抛出错误的原因是您的发布者模型没有 increase_karma
方法。
increase_karma
和 decrease_karma
方法应该从 Publisher
控制器移动到 Publisher
模型,它应该消除错误。
def increase_karma(count=1)
update_attribute(:karma, karma + count)
end
def decrease_karma(count=1)
update_attribute(:karma, karma - count)
end