2012-02-23 3 views
0

일부 자바 스크립트로 댓글을 게시하고 있습니다. 이것은 사용자가 올바른 그룹에 속하는지 확인하는 before 필터가있는 설명 컨트롤러에서 만들기 작업을 호출합니다. 이전 필터는 대시 보드 페이지로 리디렉션되지만 올바른 그룹에 속하지 않은 사용자와 댓글을 게시하려고하면 댓글이 생성되지 않지만 리디렉션은 발생하지 않습니다.필터 리디렉션 이전에 레일이 나타나지 않습니다.

def require_correct_user 
    activity = Activity.find(params[:activity_id]) 
    unless (current_user.group == activity.group) 
     redirect_to dashboard_path 
    end 
    end 

I는 서버 로그에서 다음을 참조하십시오 :

다음은 전에 필터입니다

Started GET "/dashboard" for 127.0.0.1 at 2012-02-23 14:40:07 -0500 
    Processing by UsersController#dashboard as */* 

을하지만 페이지가 브라우저에서 동일하게 유지하고 리디렉션 할 나타나지 않습니다.

페이지가 리디렉션되지 않게하려면? 그것은 자바 스크립트와 함께 게시되는 코멘트와 관련이 있습니까?

설명 :

내가 형태로 만드는 작업에 코멘트를 게시하고있다 :

=form_tag({ :action => 'create', :controller => 'comments', :method => 'post' } 

하지만 JQuery와 양식 플러그인을 사용하고 ajaxForm를 호출 양식을 제출하고있다.

+0

당신이 자바 스크립트로 게시한다고 할 때, 그것이 XMLHTTPRequest라는 것을 의미합니까? – Mario

+0

나는 그걸 잘 설명하지 않았을 것이다. 나는 'CLARIFICATION'을 추가했다. – John

답변

2

ajaxForm을 사용하는 경우 XMLHttpRequest를 통해 ajax 요청을 작성하므로 브라우저 창이 새로 고쳐지지 않습니다. 그런 다음 아약스 요청을 리디렉션하고 있습니다. 이 기능을 사용하려면 클라이언트 브라우저에서 처리 할 때 브라우저가 대체 URL을로드하게하는 ajax 요청에 상태 코드를 반환해야합니다.