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
endTemplat 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
endBlok 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
endKode 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: :createdPelolosan 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_todanform_withmembangun HTML. render json:danrespond_tomenyajikan 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
- Rute dan Sumber Daya
- Controller dan Action
- Parameter Kuat
- View dan Rendering