Ruby on Rails - Struktur Direktori
Saat Anda menggunakan skrip pembantu Rails untuk membuat aplikasi Anda, ini membuat seluruh struktur direktori untuk aplikasi tersebut. Rails tahu di mana menemukan hal-hal yang dibutuhkan dalam struktur ini, jadi Anda tidak perlu memberikan masukan apa pun.
Berikut adalah tampilan tingkat atas dari pohon direktori yang dibuat oleh skrip helper pada saat pembuatan aplikasi. Kecuali untuk perubahan kecil antar rilis, setiap proyek Rails akan memiliki struktur yang sama, dengan konvensi penamaan yang sama. Konsistensi ini memberi Anda keuntungan luar biasa; Anda dapat dengan cepat berpindah antar proyek Rails tanpa mempelajari kembali organisasi proyek.
Untuk memahami struktur direktori ini, mari gunakan demoaplikasi yang dibuat di bab Instalasi. Itu bisa dibuat dengan menggunakan perintah helper sederhanarails demo.
Sekarang, masuk ke direktori root aplikasi demo sebagai berikut -
tp> cd demo
demo> dir
Anda akan menemukan struktur direktori di Windows sebagai berikut -
Sekarang mari kita jelaskan tujuan setiap direktori
app- Ini mengatur komponen aplikasi Anda. Itu punya subdirektori yang menyimpan view (views dan helper), controller (controller), dan backend business logic (model).
app/controllers- Subdirektori controller adalah tempat Rails mencari kelas controller. Pengontrol menangani permintaan web dari pengguna.
app/helpers- Subdirektori helper menampung semua kelas pembantu yang digunakan untuk membantu kelas model, tampilan, dan pengontrol. Ini membantu menjaga model, tampilan, dan kode pengontrol kecil, fokus, dan tidak berantakan.
app/models- Subdirektori models menyimpan kelas yang memodelkan dan membungkus data yang disimpan dalam database aplikasi kita. Di sebagian besar framework, bagian aplikasi ini dapat menjadi sangat berantakan, membosankan, bertele-tele, dan rawan kesalahan. Rel membuatnya sangat sederhana!
app/view - Subdirektori views menyimpan template tampilan untuk diisi dengan data dari aplikasi kita, dikonversi ke HTML, dan kembali ke browser pengguna.
app/view/layouts- Menyimpan file template untuk tata letak yang akan digunakan dengan tampilan. Ini memodelkan metode header / footer umum untuk menggabungkan tampilan. Dalam tampilan Anda, tentukan layout menggunakan <tt> layout: default </tt> dan buat file bernama default.html.erb. Di dalam default.html.erb, panggil <% yield%> untuk merender tampilan menggunakan layout ini.
components - Direktori ini menampung komponen, aplikasi kecil yang berdiri sendiri yang menggabungkan model, tampilan, dan pengontrol.
config- Direktori ini berisi sejumlah kecil kode konfigurasi yang dibutuhkan aplikasi Anda, termasuk konfigurasi database Anda (dalam database.yml), struktur lingkungan Rails Anda (environment.rb), dan perutean permintaan web yang masuk (routes.rb). Anda juga dapat menyesuaikan perilaku tiga lingkungan Rails untuk pengujian, pengembangan, dan penerapan dengan file yang ditemukan di direktori lingkungan.
db- Biasanya, aplikasi Rails Anda akan memiliki objek model yang mengakses tabel database relasional. Anda dapat mengelola database relasional dengan skrip yang Anda buat dan tempatkan di direktori ini.
doc- Ruby memiliki kerangka kerja, yang disebut RubyDoc, yang secara otomatis dapat menghasilkan dokumentasi untuk kode yang Anda buat. Anda dapat membantu RubyDoc dengan komentar di kode Anda. Direktori ini menampung semua Rails dan dokumentasi aplikasi yang dihasilkan RubyDoc.
lib - Anda akan meletakkan perpustakaan di sini, kecuali mereka secara eksplisit dimiliki di tempat lain (seperti perpustakaan vendor).
log- Log kesalahan buka di sini. Rails membuat skrip yang membantu Anda mengelola berbagai log kesalahan. Anda akan menemukan log terpisah untuk server (server.log) dan setiap lingkungan Rails (development.log, test.log, dan production.log).
public - Seperti direktori publik untuk server web, direktori ini memiliki file web yang tidak berubah, seperti file JavaScript (publik / javascripts), grafik (publik / gambar), lembar gaya (publik / lembar gaya), dan file HTML (publik ).
script- Direktori ini menyimpan skrip untuk meluncurkan dan mengelola berbagai alat yang akan Anda gunakan dengan Rails. Misalnya, ada script untuk menghasilkan kode (menghasilkan) dan meluncurkan web server (server).
test- Tes yang Anda tulis dan yang dibuat Rails untuk Anda, semuanya ada di sini. Anda akan melihat subdirektori untuk tiruan (tiruan), pengujian unit (unit), perlengkapan (perlengkapan), dan pengujian fungsional (fungsional).
tmp - Rails menggunakan direktori ini untuk menyimpan file sementara untuk pemrosesan menengah.
vendor - Pustaka yang disediakan oleh vendor pihak ketiga (seperti pustaka keamanan atau utilitas basis data di luar distribusi Rails dasar) buka di sini.
Selain direktori ini, akan ada dua file yang tersedia di direktori demo.
README - File ini berisi detail dasar tentang Aplikasi Kereta Api dan deskripsi struktur direktori yang dijelaskan di atas.
Rakefile- File ini mirip dengan Unix Makefile, yang membantu membuat, mengemas, dan menguji kode Rails. Ini akan digunakan oleh utilitas rake yang disertakan dengan instalasi Ruby.