3

레일 3.1.0을 사용 중이고 application.html.erb 파일에 <%= content_tag(:div, flash[:warning]) %>이 있다고하더라도 컨트롤러 동작의 다음 코드가 올바르게 표시되지 않습니다. 이유는 무엇입니까? 메시지가 올바르게 표시되지 않습니다. `flash [: warning]`메시지가 표시되지 않는 이유는 무엇입니까?

flash[:warning] = "Warning message!" 

respond_to do |format| 
    format.html { redirect_to :root } 
end 

flash[:warning] 메시지가 표시되지 않는 이유는 무엇입니까? 리디렉션 후에 어떻게 표시 할 수 있습니까?

P. I : flash.keep[:warning]을 사용하려고했지만 작동하지 않았습니다.

문제


솔루션은 내 컨트롤러 액션에 두 번 리디렉션하고 있다는 점이다.


P.S. II : 누가 어떤 이유로 투표를 할 수 있습니까?

+0

동일한 컨트롤러의 동작에서 리디렉션이 어떻게 두 번 작동합니까? –

+0

@sannankhalid - 다른 컨트롤러 동작으로 리디렉션하는 컨트롤러 동작으로 리디렉션합니다. – Backo

+0

확인. thats fix it :) –

답변

-1

레이아웃 /보기에이 줄을 기록 했습니까? [: 키]되지 다음 경우 당신의 레이아웃 파일

<%= flash[:warning] || flash[:notice] || flash[:alert] %> 
+0

아니요,하지 않았습니다. 그러나 코드를 작성해도 여전히 작동하지 않습니다. – Backo

+0

통지 또는 경고를 표시하는 이유는 무엇입니까? 그는 경고 키가있는 메시지를 저장하고 있습니다. 사용자의 솔루션에 많은 버그가 있습니다. 사용자에게 이상한 메시지를 표시 할 수 있습니다. – Naveed

+0

@Backo 애플리케이션 레이아웃을 사용하고 있습니까? 그렇지 않다면 컨트롤러 위에 '애플리케이션'레이아웃을 추가하고 다시 시도하십시오. 귀하의 응용 프로그램 레이아웃에서 여전히 <% = flash [: warning] %>를 작성해야합니다. –

0

flash.now에이 코드를 작성

flash.now[:warning] ='message' 

을 시도해 하나 개의 요청에 대한 키를 다시 플래시 메시지를 저장하고 다음 리디렉션 쇼 경고 메시지와 후

<%= flash.now[:warning] %> 
+0

코드가 여전히 작동하지 않습니다. * BTW * :'flash.now'는 "일시적인"플래시 항목을 만드나요? (!) – Backo

+0

문제를 해결했습니다 (자세한 내용은 질문 참조). – Backo

관련 문제