Ruby on Rails 2.1 - Kerangka
Kerangka kerja adalah program, sekumpulan program, dan / atau pustaka kode yang menulis sebagian besar aplikasi untuk Anda. Saat Anda menggunakan kerangka kerja, tugas Anda adalah menulis bagian-bagian aplikasi yang membuatnya melakukan hal-hal spesifik yang Anda inginkan.
Saat Anda mulai menulis aplikasi Rails, mengesampingkan konfigurasi dan pekerjaan rumah tangga lainnya, Anda harus melakukan tiga tugas utama -
Describe and model your application's domain- Domain adalah semesta aplikasi Anda. Domainnya bisa berupa toko musik, universitas, layanan kencan, buku alamat, atau inventaris perangkat keras. Jadi, Anda harus mencari tahu apa yang ada di dalamnya, entitas apa yang ada di alam semesta ini, dan bagaimana benda-benda di dalamnya berhubungan satu sama lain. Ini setara dengan pemodelan struktur database untuk menjaga entitas dan hubungannya.
Specify what can happen in this domain- Model domain bersifat statis. Anda harus membuatnya dinamis. Alamat dapat ditambahkan ke buku alamat. Skor musik dapat dibeli dari toko musik. Pengguna dapat masuk ke layanan kencan. Siswa dapat mendaftar untuk kelas di universitas. Anda perlu mengidentifikasi semua kemungkinan skenario atau tindakan yang dapat diikuti oleh elemen domain Anda.
Choose and design the publicly available views of the domain- Pada titik ini, Anda dapat mulai berpikir dalam istilah browser web. Setelah Anda memutuskan bahwa domain Anda memiliki siswa, dan mereka dapat mendaftar untuk kelas, Anda dapat membayangkan halaman selamat datang, halaman pendaftaran, atau halaman konfirmasi, dll. Setiap halaman atau tampilan ini menunjukkan kepada pengguna bagaimana keadaan di titik tertentu.
Berdasarkan tiga tugas di atas, Ruby on Rails berurusan dengan kerangka Model / View / Controller (MVC).
Kerangka MVC Ruby on Rails
Itu Model View CPrinsip ontroller membagi pekerjaan aplikasi menjadi tiga subsistem yang terpisah tetapi sangat kooperatif.
Model (ActiveRecord)
Mempertahankan hubungan antara Objek dan Database dan menangani validasi, asosiasi, transaksi, dan lainnya.
Subsistem ini diimplementasikan di ActiveRecord perpustakaan, yang menyediakan antarmuka dan pengikatan antara tabel dalam database relasional dan kode program Ruby yang memanipulasi catatan database.
Nama metode Ruby secara otomatis dibuat dari nama field tabel database.
Rekaman Aktif juga menyediakan pencari berbasis atribut dinamis dan sejumlah metode pembantu lain yang membuat interaksi database menjadi mudah dan efisien.
Lihat (ActionView)
Ini adalah penyajian data dalam format tertentu, yang dipicu oleh keputusan pengontrol untuk menyajikan data. Mereka adalah sistem template berbasis skrip seperti JSP, ASP, PHP dan sangat mudah diintegrasikan dengan teknologi AJAX.
Subsistem ini diimplementasikan di ActionViewlibrary, yang merupakan sistem berbasis Embedded Ruby (ERb) untuk menentukan template presentasi untuk presentasi data. Setiap koneksi Web ke aplikasi Rails menghasilkan tampilan.
ActionView membantu memisahkan detail presentasi dari logika bisnis inti aplikasi Anda.
Pengontrol (ActionController)
Fasilitas dalam aplikasi yang mengarahkan lalu lintas, di satu sisi meminta model untuk data tertentu, dan di sisi lain, mengatur data itu (mencari, menyortir, memijatnya) ke dalam bentuk yang sesuai dengan kebutuhan tampilan tertentu.
Subsistem ini diimplementasikan di ActionController, yang merupakan perantara data yang berada di antara ActiveRecord (antarmuka database) dan ActionView (mesin presentasi).
Representasi Kerangka MVC
Representasi bergambar Ruby on Rails Framework diberikan di sini -
Representasi Direktori MVC Framework
Dengan asumsi instalasi standar dan default melalui Linux, Anda dapat menemukannya seperti ini -
tp> cd /usr/local/lib/ruby/gems/1.8/gems
tp> ls
Anda akan melihat subdirektori termasuk (tetapi tidak terbatas pada) berikut ini -
- actionpack-x.y.z
- activerecord-x.y.z
- rails-x.y.z
Melalui penginstalan Windows, Anda dapat menemukannya seperti ini -
C:\>cd ruby\lib\ruby\gems\1.8\gems
C:\ruby\lib\ruby\gems\1.8\gems\>dir
Anda akan melihat subdirektori termasuk (tetapi tidak terbatas pada) berikut ini -
- actionpack-x.y.z
- activerecord-x.y.z
- rails-x.y.z
ActionView dan ActionController digabungkan menjadi satu di bawah ActionPack.
ActiveRecord menyediakan berbagai teknik pemrograman dan pintasan untuk memanipulasi data dari database SQL. ActionController dan ActionView menyediakan fasilitas untuk memanipulasi dan menampilkan data tersebut. Rel mengikat mereka semua.