Study
Ruby on Rails

Active Record Callbacks

Penjelasan

Callback adalah method yang otomatis dijalankan pada titik tertentu di siklus hidup sebuah record — sebelum/sesudah `save`, `create`, `update`, atau `destroy`. Contohnya `before_save` untuk memformat data sebelum disimpan, atau `after_create` untuk mengirim notifikasi setelah record baru berhasil dibuat. Callback berguna untuk logic yang harus SELALU berjalan terkait siklus hidup record, tapi hati-hati jangan berlebihan memakainya karena bisa membuat alur kode sulit ditelusuri ("tersembunyi" di model, tidak terlihat jelas di controller).

Contoh Konsep

class Catatan < ApplicationRecord
  before_save :normalisasi_judul
  after_create :kirim_notifikasi

  private

  def normalisasi_judul
    self.judul = judul.strip.capitalize
  end

  def kirim_notifikasi
    Rails.logger.info "Catatan baru dibuat: #{judul}"
  end
end

Praktikum

Tambahkan callback `before_save` yang memanggil method `normalisasi_judul`.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Gunakan callback untuk hal-hal yang selalu terkait langsung dengan record itu sendiri (misal normalisasi data). Untuk side-effect yang lebih kompleks seperti mengirim email, lebih baik dipisah ke background job supaya tidak memperlambat proses save.