2012-09-12 2 views
0

이 컨트롤러를 사용하여 Ajax 요청에 응답합니다. 사용자가 로그인하지 않은 경우, 시도하지 않으려는 user_id = nil입니다. 투표를 저장하고 "오류"부분을 반환 ...하지만 아약스는 500 오류를 반환, 그것을 알아낼 수 없습니다. user_id를 사용하는 create 메소드가 올바르게 작동합니다.레일 : 컨트롤러가 모델을 호출하지 않고 500 오류를 반환합니다.

def create 
    unless params[:user_id].nil? 
    @vote = Vote.new(:song_id => params[:song_id], :user_id => params[:user_id]) 
    @vote.save 
    @song = Song.where(:id => params[:song_id]) 
    render :partial => "votes/ret", :locals => { :song => @song }, :layout => false, :status => :created 
    else 
    render :partial => "votes/err", :layout => false 
    end 
end 

답변

0

모델에 연관이 있습니까? 이 문제를 훨씬 쉽게 해결할 수있는 것보다.

연결에 대해 알 수 있고 오류의 콘솔 출력을 게시 할 수 있다면 가장 좋을 것입니다.

그리고 당신은에

unless params[:user_id].nil? 

변경할 수 있습니다 :

if params[:user_id] 
같은 일을한다

쉽게 읽을 수 있습니다.

최상품

관련 문제