2012-05-24 3 views
1

내 앱에 thumbs_up 보석을 구현하려고하는데 경로가 있어도이 오류가 계속 발생합니다. vote_up의 행동을경로가 일치하지 않습니다 {: action => "vote_up", : controller => "posts"} thumbs_up에 대한 오류

내 게시물 컨트롤러는

def vote_up 
    begin 
     current_user.vote_for(@post = Post.find(params[:id])) 
     render :nothing => true, :status => 200 
    rescue ActiveRecord::RecordInvalid 
     render :nothing => true, :status => 404 
    end 
    end 

내 경로

resources :posts do 
    get :vote_up, :on => :member 
    resources :comments 
    end 

모양처럼 나는 문제가 무엇인지 모르는 사람이 나를 도울 수 있다면 또는 날 지점 보인다 튜토리얼 엄청나게 될 것 같은 thumbs_up 보석을 사용하십시오.

+0

보기 코드를 공유 할 수 있습니까? – rb512

+0

'current_user.vote_for (@post = Post.find (params [: id]))'. IMHO 메서드의 인수로도 사용되는 과제는 좋은 프로그래밍 습관이 아닙니다. – tokland

답변

2

문제는 게시물의 ID가없는 vote_up을 요청하고 있다는 것입니다.

current_user.vote_for(@post = Post.find(params[:id]))

을 그러나 나는 당신의 요구에 어떤 id 필드가 표시되지 않습니다 : 그냥 컨트롤러를 찾고 있습니다. 문제는 당신의 견해에 있습니다.

+0

동의. 'vote_up' 라우트는 구성원 자원에 있습니다. 이 경로에 따라'id' 매개 변수를 전달하지 않으므로 오류가 발생합니다. –

+0

@ Jordan Scales : 수정 된 코드는 어떻게 생겼을 까? ID를 요청에 어떻게 넣습니까? – gbutters

관련 문제