Flash Messages
Penjelasan
Flash message adalah pesan sementara yang disimpan di session dan hanya bertahan untuk request berikutnya — cocok untuk notifikasi seperti "Catatan berhasil disimpan" setelah redirect. Rails menyediakan `flash[:notice]` untuk pesan sukses dan `flash[:alert]` untuk pesan peringatan/error secara konvensi, meski kamu bisa pakai key apa pun. Flash biasanya di-set di controller lalu ditampilkan di layout supaya muncul di semua halaman.
Contoh Konsep
# di controller
def create
@catatan = Catatan.new(catatan_params)
if @catatan.save
redirect_to @catatan, notice: "Catatan berhasil disimpan!"
else
flash.now[:alert] = "Gagal menyimpan catatan"
render :new
end
end
Menampilkan di Layout
<!-- app/views/layouts/application.html.erb -->
<% if flash[:notice] %>
<p class="notice"><%= flash[:notice] %></p>
<% end %>
<% if flash[:alert] %>
<p class="alert"><%= flash[:alert] %></p>
<% end %>
Praktikum
Lengkapi redirect agar menyertakan flash notice "Catatan berhasil disimpan!" setelah create sukses.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Pakai `flash[:notice]` saat kamu melakukan `redirect_to` (pesan bertahan satu request lagi), tapi pakai `flash.now[:alert]` saat kamu langsung `render` di action yang sama (tanpa redirect) — kalau tertukar, pesan bisa muncul dua kali atau malah tidak muncul sama sekali.