2011-03-30 5 views
0

remote_form_for 태그를 사용하여 제출하는 양식이 있습니다.RJS 레일을 사용한 양식 유효성 검사

보기

<% form_remote_tag(:url => { :action => 'create' }) do %> 

a bunch of fields 

<% end %> 

컨트롤러

def create 

    if @greeting.can_save? 
    respond_to do |format| 
    format.html {redirect_to board_link(@board)} 
    format.js #close the iframe and reload the parent 
    end 
    else 
    respond_to do |format| 
    format.html {redirect_to :action => 'new'} 
    format.js #show the errors on the form 
    end 
    end 
end 

create.rjs

page << "parent.$.fancybox.close();" 

양식이 올바른 정보와 함께 제출되는 모든 확인을 작동합니다. 하지만 잘못된 제출에 대한 오류 메시지를 표시해야합니다.

양식이 유효성 검사를 통과하지 못하면 어떻게 양식에 오류 메시지가 표시됩니까?

미리 감사드립니다.

답변

0

양식을 자신의 부분으로 끌어내어 페이지의 해당 부분을 렌더링하여 양식에 고유 한 ID를 부여하십시오.

양식 태그 내에서 오류를 표시하거나 영향을받는 필드에 클래스를 추가하는 등 원하는 방식으로 오류를 렌더링해야합니다.

if @greeting.valid? 
    page << "parent.$.fancybox.close();" 

else 
    page.replace 'my_form_id', :partial => 'greetings/form' 
end 

오류가있는 경우 양식을 다시 렌더링 :

이제 당신의 RJS에 다음과 같은 뭔가. @greeting 인스턴스 변수가이 양식에 전달되어 필드가 올바르게 채워 졌는지 확인하십시오.

+0

덕분에 더글러스 나는 그에게 총을주고 그것이 어떻게되는지 보게됩니다. – chell