Ruby on Rails

Rails Engines & Aplikasi Modular

Mountable engines, isolated engines, namespacing, arsitektur berbasis gem

18 pertanyaan wawancara·
Senior
1

Apa itu Rails Engine?

Jawaban

Rails Engine adalah aplikasi Rails mini yang dapat di-mount di dalam aplikasi host. Ia memungkinkan berbagi kode (models, controllers, views, routes) di antara beberapa aplikasi atau membuat fitur yang terisolasi dan dapat digunakan kembali. Gem seperti Devise, Sidekiq Web UI, dan ActiveAdmin adalah contoh engine populer yang digunakan dalam ekosistem Rails.

2

Perintah mana yang digunakan untuk menghasilkan Rails Engine mountable baru?

Jawaban

Perintah rails plugin new dengan opsi --mountable menghasilkan engine lengkap dengan namespace sendiri, routes terisolasi, dan struktur folder. Opsi --mountable membuat engine yang sepenuhnya terisolasi dari aplikasi host, berbeda dengan --full yang menghasilkan engine tidak terisolasi yang berbagi namespace aplikasi utama.

3

Apa perbedaan utama antara engine --mountable dan engine --full?

Jawaban

Engine --mountable sepenuhnya terisolasi dengan namespace (module) sendiri, helpers sendiri, dan routes yang terisolasi di bawah prefiks yang dapat dikonfigurasi. Engine --full berbagi namespace aplikasi host, yang dapat menimbulkan konflik nama. Isolasi pada mountable engine memastikan bahwa kelas dan routes engine tidak mencemari namespace aplikasi utama.

4

Bagaimana cara me-mount Rails Engine di file routes.rb aplikasi host?

5

Apa tujuan dari direktif isolate_namespace dalam Rails Engine?

+15 pertanyaan wawancara

Kuasai Ruby on Rails untuk wawancara berikutnya

Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.

Mulai gratis