Rails : redirect_to with : error, but flash [: error] 비어 있음


117

flash [: error] 값을 설정하는 동안 리디렉션을 시도하고 있습니다. (레일 3.0.10)

내 관점에서 나는

<p id="error"><%= flash[:error] %></p>
<p id="notice"><%= flash[:notice] %></p>

내가하면 redirect_to show_path, :notice => "ok"잘 작동하지만 내가 redirect_to show_path, :error => "error"하면 나타나지 않습니다.

내가 무엇을 놓칠 수 있습니까?

답변:


238

Rails API에 명시된대로 : notice 및 : alert 만 기본적으로 플래시 해시 값으로 적용됩니다. : error 값을 설정해야하는 경우 다음과 같이 할 수 있습니다.

redirect_to show_path, flash: { error: "Insufficient rights!" }

3
명확성을 위해 : redirect_to(show_path, {:flash => { :error => "Insufficient rights!" }}). URL 옵션을 사용하여 show_path를 만들려면이 형식이 필요합니다.
spyle 2013

1
너무 나를 위해 일한, 난 그냥 생각이 플래시 해시에있는 경우에만 통지 / 경고 뒤에 무엇인지 궁금
jbnunn

2
Rails 5에서 일함
Richard Peck

1
루비 1.9 형식에서 다음으로 이동할 수 있습니다.redirect_to(show_path, flash: { error: "Insufficient rights!" })
mmsilviu

17

다른 경로로 리디렉션 한 후 플래시를 유지하는 데 문제가 있으면 이것을 사용하십시오.

flash.keep

리디렉션하기 전에 방법에서.


직접 페이지에 다음과 같이 표시됩니다.#<ActionDispatch::Flash::FlashHash:0x007f88c6e0c3c8> #<ActionDispatch::Flash::FlashHash:0x007f88c6e0c3c8>
Hengjie

질문의 답은 아닌 것 같지만 내 문제의 해결책이었습니다!
Claudio Shigueo Watanabe

0

진정으로 PRG 패턴을 따르기 위해이 프로젝트가 잘 작동하는지 궁금합니다.

https://github.com/tommeier/rails-prg

사용자로서 PRG를 따르지 않는 앱은 참을 수 없습니다 ..... POST 후 6 페이지가되었고 뒤로 버튼을 눌러 10 페이지로 돌아가서 "이 쓰레기를 다시 게시 하시겠습니까"에 의해 차단됩니다. ... 아니, 물론 아닙니다. 이전에 본 페이지로 돌아가고 싶습니다.

PRG가 아닌 앱은 사용자에게 매우 짜증이납니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.