Apa arti erb?

132

Mengapa tampilan aplikasi Rails dalam format *.erb.html? Apa artinya "erb"?

khanh
sumber

Jawaban:

164

erb adalah singkatan dari "Embedded RuBy". Suatu .html.erbatau .erb.htmlfile adalah HTML dengan kode Ruby tertanam di dalamnya; Rails akan mengevaluasi Ruby untuk menambahkan konten ke file secara dinamis, dan akan menampilkan file HTML "murni" untuk rendering.

Chowlett
sumber
9
Bonus: Anda juga dapat menambahkan lokal Anda ke dalam campuran: index.en.html.erb dan index.de.html.erb
iain
3
lumpuh, mereka harus menghapus html. u tidak melihat html.php
luckyguy73
46

Seperti @Chowlett sebutkan sebelumnya, erb adalah singkatan dari Embedded Ruby . Ketika Anda mendefinisikan file apa pun sebagai ".html.erb" itu berarti itu adalah file HTML dengan kode ruby ​​yang tertanam di dalamnya dan mirip dengan ekstensi ".rhtml" file rails.

Anda dapat melihat perbedaan terperinci dan bagus antara ".html.erb" dan ".rhtml" Klik Di Sini

Sama seperti ".rhtml", Anda juga dapat mengganti nama ".rjs" ekstensi menjadi ".js.erb" atau ".rxml" menjadi ".xml.erb"

Format ini memisahkan tipe konten dari mesin template yang "erb" dalam kasus ini.

Nimesh Nikum
sumber
1
Terima kasih @ Khanh karena menghargai jawaban saya :)
Nimesh Nikum
9

Dari Pengantar Stuart Ellis untuk ERB Templating :

ERB (Embedded RuBy) adalah fitur Ruby yang memungkinkan Anda untuk menghasilkan segala jenis teks, dalam jumlah berapa pun, dari templat. Template sendiri menggabungkan teks biasa dengan kode Ruby untuk substitusi variabel dan kontrol aliran, yang membuatnya mudah untuk ditulis dan dipelihara.

Meskipun ERB paling sering terlihat menghasilkan halaman Web, ERB juga digunakan untuk menghasilkan dokumen XML, RSS feed, kode sumber, dan bentuk lain dari file teks terstruktur. Ini bisa sangat berharga ketika Anda perlu membuat file yang menyertakan banyak pengulangan pola standar, seperti unit test suite.

Komponen utama ERB adalah perpustakaan yang dapat Anda panggil dalam aplikasi Ruby Anda dan tugas Rake. Pustaka ini menerima string apa pun sebagai templat, dan tidak memberlakukan batasan pada sumber templat. Anda dapat menentukan templat seluruhnya dalam kode Anda, atau menyimpannya di lokasi eksternal dan memuatnya sesuai kebutuhan. Ini berarti bahwa Anda dapat menyimpan templat dalam file, database SQL, atau jenis penyimpanan lain yang ingin Anda gunakan.

Distribusi Ruby juga menyertakan utilitas baris perintah yang memungkinkan Anda untuk memproses template yang disimpan dalam file tanpa menulis kode tambahan. Secara logis, utilitas ini disebut erb.

ERB adalah bagian dari pustaka standar Ruby. Anda tidak perlu menginstal perangkat lunak lain apa pun untuk menggunakannya.

Artikel asli berisi lebih detail dan panduan singkat untuk menggunakan ERB. Anda juga dapat membaca dokumen resmi .


Catatan: blok yang dikutip di atas sebelumnya diposting sebagai jawaban oleh pengguna lain tanpa menghubungkan ke Pengantar ERB Templating atau mengakui bahwa itu bukan pekerjaan pengguna itu. Posting itu (benar) dihapus karena plagiarisme. Namun, saya pikir itu adalah jawaban yang berguna , jadi saya telah memposting ulang kutipan yang memberikan atribusi yang tepat kepada Stuart Ellis, penulis asli.

Mark Amery
sumber
5

Embedded Ruby, juga disebut ERb, adalah sistem template utama untuk memasukkan konten dinamis di halaman web. --Michael Hertl

Andy Young
sumber
4

from templat-format File yang berisi templat ERB dapat memiliki nama apa pun, tetapi merupakan kebiasaan bahwa nama file harus diakhiri dengan ekstensi .erb. Rails membutuhkan file templat untuk memiliki ekstensi dari tipe output, diikuti oleh .erb, sehingga nama seperti layout.html.erb menunjukkan templat HTML.

File erb hanya akan menampilkan teks. Tidak ada lagi. Teks apa yang tergantung pada campuran teks statis dan kode ruby ​​di dalam file. Anda dapat menggunakan erb untuk menghasilkan html yang penggunaan defaultnya di Rails, karena itu yang diperlukan browser untuk menampilkan halaman.

Dalam ruby ​​ada beberapa standar tertentu. Satu default adalah controller akan membuat halaman html. Tetapi Anda dapat dengan mudah membuatnya merespons dengan .xml atau .json atau .csv jika Anda menulis api web untuknya

Erb adalah kelas pustaka yang menghasilkan teks. Tidak ada lagi. Itu mengharapkan file yang berisi teks statis dan kode ruby ​​dicampur. Ini akan menjalankan kode ruby ​​dan menulis hasilnya ke file lain yang dalam kasus untuk pengendali Anda adalah html

Ahmed Ali
sumber