2009-09-05 4 views
0

레일즈 애플리케이션에 대해 ajax 상태/오류 메시지가 표시되는 단일 장소를 제공하는 가장 좋은 방법에 대한 조언을 찾고 있습니다. 이것은 rails 플래시 하위 시스템과 비슷하지만 Ajax 요청의 경우입니다.레일과 함께 표준 레이아웃 위치에 AJAX 상태 메시지를 제공하는 방법

Google 리더 및 Gmail은이 기능이있는 좋은 예입니다.

언제든지이 플러그인을 제공하는 간단한 플러그인이 있습니까?

감사합니다. 레이아웃에서

답변

0

:

def render_flash 

    html = "" 

    flash.each do |key,value| 
    html << "<div class="flash_#{key}">#{h value}</div>" 
    end 

    html 
end 

어쩌면 당신의 헬퍼에서 당신의 AJAX 응답에서

<div id="flash_container"></div> 

<script type='text/javascript'> 
document.getElementById('flash_container').innerHTML="<%=escape_javascript render_flash %>"; 
</script> 

물론, 그것은 플러그인 :

+0

좋은 해결책 인 것처럼 들리 겠지만 jQuery와 같은 것을 사용하는 것이 좋으며, 정말로 필요하지 않으면 flash_container div를 쓰지 않는 것이 좋습니다 (예 : 플래시를 표시해야하는 경우) 레이아웃에 불필요한 HTML을 저장합니다. –

+0

빈 div를 유지하고 싶습니다. 그렇지 않으면 자바 스크립트가 페이지에서 플래시가 어디로 이동하는지 알 필요가 있습니다. 두 번째 레이아웃을 추가하자마자 더 복잡해집니다. – jdl

+0

그러나 innerHTML을 사용하면 DIV가 페이지에 그대로 유지되며 해당 내용 만 변경됩니다. 실제로 jQuery를 사용하여이 작업을 수행했으며, 라이브러리에 무관 한 솔루션을 제공하기를 원했습니다. :) –

관련 문제