0Pricing
Ruby Academy · Pelajaran

View dan Rendering

Kembalikan respons.

View dan Rendering adalah pelajaran Ruby Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Ruby Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Ruby Academy mencakup 4 pelajaran total.

Apa Itu Tampilan

Tampilan adalah templat yang menghasilkan respons yang dikirim kepada klien, biasanya berupa HTML. Tampilan mengubah data yang disiapkan pengendali menjadi halaman.

  • Tampilan disimpan di app/views.
  • Tampilan dikelompokkan berdasarkan pengendali, seperti app/views/articles.
  • Nama templat bawaan sesuai dengan nama aksi.

Perenderan Berdasarkan Konvensi

Secara bawaan, sebuah aksi menampilkan templat yang namanya sesuai dengan nama aksi tersebut. Aksi index dari ArticlesController menampilkan app/views/articles/index.html.erb tanpa pemanggilan render secara eksplisit.

def index
  @articles = Article.all
  # automatically renders articles/index.html.erb
end

Templat ERB

Bahasa templat bawaan adalah ERB (Ruby Tersemat). ERB menggabungkan HTML dengan Ruby:

  • <%= ... %> menghasilkan suatu nilai.
  • <% ... %> menjalankan kode tanpa menghasilkan keluaran.
<h1>Articles</h1>
<% @articles.each do |article| %>
  <p><%= article.title %></p>
<% end %>

Tata Letak

Tata letak membungkus setiap tampilan dengan markup bersama seperti bagian kepala, navigasi, dan kaki. app/views/layouts/application.html.erb bawaan menyertakan <%= yield %>, tempat tampilan aksi disisipkan.

<!-- application.html.erb -->
<html>
  <body>
    <%= yield %>
  </body>
</html>

Templat Parsial

Templat parsial adalah fragmen templat yang dapat digunakan kembali dan nama berkasnya diawali garis bawah. Tampilkan dengan render agar markup tidak perlu diduplikasi.

<!-- _article.html.erb -->
<p><%= article.title %></p>

<!-- in index.html.erb -->
<%= render "article", article: @article %>

Menampilkan Kumpulan

Meneruskan kumpulan ke render akan menampilkan templat parsial sekali untuk setiap item, sebagai pintasan yang lazim digunakan. Rails menyimpulkan nama templat parsial dari model.

<%= render @articles %>

<!-- renders _article.html.erb for each article -->

Pembantu Tampilan

Rails menyediakan pembantu yang menghasilkan HTML dengan aman: link_to untuk tautan, form_with untuk formulir, dan image_tag untuk gambar. Pembantu membuat templat tetap rapi dan konsisten.

<%= link_to "View", article_path(@article) %>
<%= image_tag "logo.png" %>

Merespons dengan Format Lain

Pengendali dapat mengembalikan lebih dari sekadar HTML. render json: mengirim JSON untuk API, sedangkan respond_to menyajikan format yang berbeda berdasarkan permintaan klien.

def show
  @article = Article.find(params[:id])
  render json: @article
end

Blok untuk Berbagai Respons

Gunakan respond_to untuk menangani beberapa format dalam satu aksi. Aksi yang sama dapat mengembalikan HTML kepada peramban dan JSON kepada klien API.

def show
  @article = Article.find(params[:id])
  respond_to do |format|
    format.html
    format.json { render json: @article }
  end
end

Kode Status

Tetapkan status HTTP pada respons dengan status:. Gunakan :ok (200), :created (201) setelah pembuatan berhasil, dan :unprocessable_entity (422) ketika validasi gagal agar klien merespons dengan benar.

render :new, status: :unprocessable_entity
render json: @article, status: :created

Pelolosan dan Keamanan

ERB secara otomatis melakukan pelolosan HTML pada keluaran <%= %>, sehingga mencegah skrip lintas situs dari data pengguna. Tandai konten sebagai aman dengan raw atau html_safe hanya jika Anda benar-benar memercayainya; penyalahgunaan keduanya akan membuka kembali celah XSS.

Pemeriksaan Singkat

Uji pemahaman Anda tentang tampilan dan perenderan.

Ringkasan: Tampilan dan Perenderan

Anda telah mempelajari cara mengembalikan respons:

  • Aksi menampilkan tampilan ERB yang sesuai berdasarkan konvensi.
  • Tata letak membungkus tampilan; templat parsial menggunakan kembali fragmen.
  • Pembantu seperti link_to dan form_with membangun HTML.
  • render json: dan respond_to menyajikan API; tetapkan kode status yang tepat.
  • ERB melakukan pelolosan pada keluaran untuk mencegah XSS.

Dengan demikian, kursus Pengendali dan Perutean telah selesai.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “View dan Rendering” gratis?

Ya — teks lengkap “View dan Rendering” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Ruby Academy, upgrade ke CoddyKit PRO. Kursus Ruby Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “View dan Rendering”?

Kembalikan respons. Kamu berlatih Ruby Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Ruby Academy?

Tidak diperlukan pengalaman sebelumnya. Ruby Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “View dan Rendering” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Ruby Academy ini?

Ya. Setiap pelajaran Ruby Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Rute dan Sumber Daya
  2. Controller dan Action
  3. Parameter Kuat
  4. View dan Rendering
← Kembali ke Ruby Academy