Rails: redirect_to with: error, ancak flash [: error] boş


117

Flash [: error] değerini ayarlarken yeniden yönlendirme yapmaya çalışıyorum. (Raylar 3.0.10)

Benim görüşüme göre

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

Eğer yaparsam redirect_to show_path, :notice => "ok"iyi çalışıyor, ama yaparsam redirect_to show_path, :error => "error"görünmüyor.

neyi kaçırıyor olabilirim?

Yanıtlar:


238

Yalnızca Rails API'sinde belirtildiği gibi : not ve: alert, varsayılan olarak flash hash değeri olarak uygulanır. : Error değerini ayarlamanız gerekiyorsa, bunu şu şekilde yapabilirsiniz:

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

3
Açıklamak gerekirse: redirect_to(show_path, {:flash => { :error => "Insufficient rights!" }}). Url seçenekleriyle show_path oluşturmak istiyorsanız bu format gereklidir.
2013

1
Bu benim için de işe yaradı, sadece flash
hash'de olan farkın

2
Rails 5'te çalıştı
Richard Peck

1
Ruby 1.9 formatından şu redirect_to(show_path, flash: { error: "Insufficient rights!" })
adrese geçebilirsiniz

17

Başka bir yola yönlendirdikten sonra flaşı saklamakta sorun yaşıyorsanız, bunu kullanın.

flash.keep

yönteminizde, yönlendirmeden önce.


Yönlendirilen sayfada #<ActionDispatch::Flash::FlashHash:0x007f88c6e0c3c8> #<ActionDispatch::Flash::FlashHash:0x007f88c6e0c3c8>
Hengjie

Görünüşe göre sorunun cevabı değil ama sorunumun çözümü buydu!
Claudio Shigueo Watanabe

0

PRG modelini gerçekten takip etmek için, bu projenin iyi çalışıp çalışmadığını merak ediyorum.

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

Kullanıcı olarak PRG'yi takip etmeyen uygulamalara tahammül edemiyorum ..... Bir POST'tan sonra 6 sayfa geçtim ve 10 sayfaya geri dönmek için geri düğmesine bastım ve "bu saçmalığı yeniden yayınlamak istiyor musunuz" tarafından engelleniyorum. ...hayır tabii değil. Daha önce gördüğüm bir sayfaya geri dönmek istiyorum.

PRG olmayan uygulamalar kullanıcılar için çok can sıkıcıdır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.