Rails: redirect_to dengan: error, tapi flash [: error] kosong

117

Saya mencoba melakukan pengalihan saat mengatur nilai flash [: error]. (Rel 3.0.10)

Dalam pandangan saya, saya punya

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

Jika saya melakukan redirect_to show_path, :notice => "ok"itu berfungsi dengan baik, tetapi jika saya melakukannya redirect_to show_path, :error => "error"tidak muncul.

apa yang bisa saya lewatkan?

Daniel
sumber

Jawaban:

238

Seperti yang dinyatakan dalam Rails API saja: notice and: alert secara default diterapkan sebagai nilai hash flash. Jika Anda perlu menyetel: nilai kesalahan, Anda dapat melakukannya seperti ini:

redirect_to show_path, flash: { error: "Insufficient rights!" }
Tarnschaf
sumber
3
Untuk kejelasan: redirect_to(show_path, {:flash => { :error => "Insufficient rights!" }}). Format ini diperlukan jika Anda ingin membuat show_path dengan opsi url.
spyle
1
Itu bekerja untuk saya juga, saya hanya bertanya-tanya apa yang ada di balik pemberitahuan / peringatan yang ada di hash flash
jbnunn
2
Bekerja di Rails 5
Richard Peck
1
Anda dapat beralih dari format ruby ​​1.9 ke:redirect_to(show_path, flash: { error: "Insufficient rights!" })
mmsilviu
17

Jika Anda mengalami masalah untuk menyimpan flash setelah mengalihkan ke jalur lain, gunakan ini.

flash.keep

dalam metode Anda, sebelum mengalihkan.

Ramiz Raja
sumber
Saya baru saja mendapatkan yang berikut ini yang ditampilkan di halaman yang diarahkan:#<ActionDispatch::Flash::FlashHash:0x007f88c6e0c3c8> #<ActionDispatch::Flash::FlashHash:0x007f88c6e0c3c8>
Hengjie
Sepertinya itu bukan jawaban dari pertanyaan itu, tetapi itu adalah solusi dari masalah saya!
Claudio Shigueo Watanabe
0

Untuk benar-benar mengikuti pola PRG, saya bertanya-tanya apakah proyek ini berjalan dengan baik

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

Saya tidak tahan aplikasi yang tidak mengikuti PRG sebagai pengguna ..... Saya telah 6 halaman setelah POST dan menekan tombol kembali untuk kembali ke 10 halaman yang lalu diblokir oleh "apakah Anda ingin memposting ulang omong kosong ini". ...tidak, tentu saja tidak. Saya hanya ingin kembali ke halaman yang pernah saya lihat sebelumnya.

aplikasi non-PRG sangat mengganggu pengguna.

Dean Hiller
sumber