2016-08-18 5 views
0

カルマをacts_as_votableに追加しようとしています。失われた!助けてください。acts_as_votableにカルマを追加しようとしています

基本的に私は記事に取り組む上/下の投票を持っています。

パブリッシャーのカルマに記事をアップアップするたびに1を追加したいと思います。 (そして、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> 

私は移行を実行し、サーバーを複数回再起動しました。私の出版コントローラ

def increase_karma(count=1) 
    update_attribute(:karma, karma + count) 
    end 

    def decrease_karma(count=1) 
    update_attribute(:karma, karma - count) 
    end 

答えて

1

私条(も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 

あなたの出版社のモデルが持っていないため、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 
+0

こんにちは - 私は質問を提出した約1時間前に気がついた。コーヒーが足りない夜のひとつ/ –

関連する問題