2010-08-11 4 views
11

아래와 같이 도우미 메서드를 사용하여 응용 프로그램에 오류 및주의 메시지를 표시하고 있습니다. 레일스의 플래시 메시지가 다음 페이지로 옮겨졌습니다.

def display_flash_content 
    [:error, :notice].map do |key| 
     collection = flash[key].blank? ? [] : (flash[key].respond_to?(:map) ? flash[key] : [flash[key]]) 
     collection.map {|item| content_tag(:div, item, :class => key.to_s) } 
    end 
    end 

내 레이아웃은 내가 어떤 작업을 수행 할 때 이러한 메시지를 표시 한 다음 특정 페이지로 리디렉션하기 위해 필요한이

<%= display_flash_content %> 

(이 잘 작동)가 있습니다. 하지만 내 문제는이 플래시 메시지가 페이지간에 지속된다는 것입니다. 사용자에게 표시되면 즉시 삭제해야하는 페이지간에 두 번 올 수 있습니다.

이 시나리오를 처리하는 방법. 제발 도와주세요!

답변

29

플래시 메시지를 표시하는 방법은 정상입니다. 나는 문제가 당신이 그들을 어떻게 세우고 있는지에 관해 생각한다. 플래시 메시지를 설정하고 리디렉션하지 않는 경우 예를 들어 flash[:notice] 대신 flash.now[:notice]에 할당 할 수 있으며 리디렉션 후에도 메시지가 멈추지 않습니다.

관련 문제