Я пытаюсь добавить карму в act_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