Study
Ruby on Rails

Struktur MVC & Convention over Configuration

Penjelasan

Rails mengikuti pola arsitektur MVC (Model-View-Controller). **Model** (di `app/models/`) menangani data dan logika bisnis, biasanya berhubungan langsung dengan tabel database lewat Active Record. **View** (di `app/views/`) adalah template tampilan yang dirender ke HTML, ditulis dengan ERB. **Controller** (di `app/controllers/`) menjadi penghubung — menerima request, memanggil model, lalu menentukan view mana yang dirender. Prinsip "Convention over Configuration" berarti Rails menebak banyak hal dari penamaan: model `Catatan` otomatis dipetakan ke tabel `catatans`, controller `CatatanController` otomatis mencari view di folder `app/views/catatan/`. Ini kontras dengan framework yang lebih eksplisit (misalnya Express.js atau Actix) di mana kamu harus mendaftarkan setiap koneksi secara manual — Rails mengurangi boilerplate asalkan kamu mengikuti konvensi penamaannya.

Contoh Konsep

app/
  models/
    catatan.rb        # class Catatan < ApplicationRecord
  views/
    catatan/
      index.html.erb  # otomatis dicari untuk action index
      show.html.erb
  controllers/
    catatan_controller.rb  # class CatatanController < ApplicationController

Praktikum

Lengkapi definisi controller dan model sesuai konvensi penamaan Rails untuk resource `catatan`.

Editor Latihan

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

Tips

Kalau bingung kenapa Rails tidak menemukan view atau controller-mu, periksa dulu penamaan file dan class — hampir selalu masalahnya ada di situ, bukan di logic. Jalankan `rails routes` untuk melihat semua route yang sudah terdaftar sesuai konvensi.