2016-08-18 2 views
0

karma를 acts_as_votable에 추가하려고했습니다. 잃어버린! 도와주세요.karma를 acts_as_votable에 추가하려고 시도했습니다

기본적으로 기사에 대한 투표를 진행하고 있습니다.

퍼블리셔의 업보에 기사를 올릴 때마다 1을 더하고 싶습니다. (그리고 하나가 downvoted 때 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

이유에서

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 

(임은 friendly_id 사용) increase_karma 방법.

increase_karmadecrease_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 시간이 걸렸습니다. 커피가 부족한 밤 중 하나 / –

관련 문제