2011-10-07 3 views
4

jquery를 사용하여 기기의 가입 양식을 팝업으로로드하고 있습니다. 문제는 팝업에서 장치의 오류 메시지를로드 할 수 없다는 것입니다.팝업에서 기기 오류 메시지를받을 수있는 방법

빈 서명 양식을 클릭하면 오류 메시지가 표시되는 다른 페이지로 리디렉션됩니다.

나는 괴짜의 github 게시물을 통과했지만 내가 찾고있는 해결책을 찾을 수 없습니다.

폼 도우미의 <%= devise_error_messages! %> 코드가 제대로 작동하도록 응용 프로그램 도우미에 메서드를 만들었습니다. 다음과 같이

응용 프로그램 도우미 코드는 다음과 같습니다 -

def devise_error_messages! 
    resource.errors.full_messages.map { |msg| content_tag(:li, msg) }.join 
    end 

뭔가이 잘못된 것을 알고 있지만, 무엇을 알아낼 수 없습니다. 아무도 나를 도와주세요.

UPDATE

나는 내가 버튼을 제출 쳤을 때 오류가 팝업에 상자를 표시되지 않기 때문에, 등록 컨트롤러의 생성 작용에 문제가있을 수 있다고 생각합니다. devise의 등록 컨트롤러의 기본 생성 작업을 재정의하려고 시도합니다. 이 변경 사항과 함께 작동하는지 확인합니다. 나는 그것을 작동하지 않지만 위의 업데이트에 언급 된 변경을

업데이트 2

내가 솔루션 : 매우 가까이 오전 필러를 제공

아직 약간의 도움을 기다리고 .

감사합니다.

답변

3

RegistrationsController의 작성 작업을 재정의 하시겠습니까? resource.save 방금

render :json => { :success => false, :data => resource.errors.full_messages } 

다시 JQuery와 스크립트에 바로 오류 메시지를 건네한다 수있는 실패 할 경우 그 트릭을 할해야합니다. 예 :

$('#sign_up_form').submit(function() { 
    $.post(this.action, function(response) { 
     if (response.success) { 
      //... do a redirect or something cuz we're now registered 
     } else { 
      // do something with your errors 
      $('#sign_up_form').prepend(response.data); 
     } 
    }, 'json'); 
}); 
+0

감사합니다. –

관련 문제