Controllers & Actions
Penjelasan
Controller adalah class Ruby yang mewarisi `ApplicationController`, berisi method-method publik yang disebut "action" — setiap action berhubungan dengan satu route. Ketika request masuk, Rails memanggil action yang sesuai, action tersebut biasanya mengambil data lewat model lalu Rails otomatis merender view dengan nama yang sama (misalnya action `index` merender `index.html.erb`). Variabel instance (`@catatan`) yang di-set di dalam action otomatis bisa diakses di view yang terkait.
Contoh Konsep
# app/controllers/catatan_controller.rb
class CatatanController < ApplicationController
def index
@catatan_list = Catatan.all
end
def show
@catatan = Catatan.find(params[:id])
end
end
Praktikum
Lengkapi action `show` agar mengambil satu catatan berdasarkan `params[:id]` dan menyimpannya ke instance variable.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Jaga agar controller tetap "tipis" (thin controller) — logic bisnis yang kompleks sebaiknya dipindah ke model atau service object, controller cukup mengoordinasikan alur request-response saja.