Ruby on Rails

Rails Engines & ứng dụng mô-đun

Mountable engines, isolated engines, namespacing, kiến trúc dựa trên gem

18 câu hỏi phỏng vấn·
Senior
1

Rails Engine là gì?

Câu trả lời

Rails Engine là một ứng dụng Rails thu nhỏ có thể được mount bên trong một ứng dụng host. Nó cho phép chia sẻ mã (models, controllers, views, routes) giữa nhiều ứng dụng hoặc tạo các tính năng độc lập và có thể tái sử dụng. Các gem như Devise, Sidekiq Web UI và ActiveAdmin là những ví dụ về engine phổ biến được dùng trong hệ sinh thái Rails.

2

Lệnh nào được dùng để tạo một Rails Engine mountable mới?

Câu trả lời

Lệnh rails plugin new với tùy chọn --mountable tạo ra một engine hoàn chỉnh với namespace riêng, routes độc lập và cấu trúc thư mục. Tùy chọn --mountable tạo một engine hoàn toàn độc lập với ứng dụng host, không giống như --full vốn tạo một engine không độc lập chia sẻ namespace của ứng dụng chính.

3

Sự khác biệt chính giữa engine --mountable và engine --full là gì?

Câu trả lời

Một engine --mountable hoàn toàn độc lập với namespace (module) riêng, helpers riêng và routes được cô lập dưới một tiền tố có thể cấu hình. Một engine --full chia sẻ namespace của ứng dụng host, điều này có thể gây xung đột tên. Sự cô lập của mountable engine đảm bảo rằng các lớp và routes của engine không làm ô nhiễm namespace của ứng dụng chính.

4

Làm thế nào để mount một Rails Engine trong file routes.rb của ứng dụng host?

5

Mục đích của directive isolate_namespace trong một Rails Engine là gì?

+15 câu hỏi phỏng vấn

Nắm vững Ruby on Rails cho lần phỏng vấn tiếp theo

Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.

Bắt đầu miễn phí