Ruby on Rails

Rails Engines และแอปแบบโมดูลาร์

Mountable engines, isolated engines, namespacing, สถาปัตยกรรมแบบ gem

18 คำถามสัมภาษณ์·
Senior
1

Rails Engine คืออะไร?

คำตอบ

Rails Engine คือแอปพลิเคชัน Rails ขนาดย่อที่สามารถ mount เข้าไปในแอปพลิเคชัน host ได้ มันช่วยให้แชร์โค้ด (models, controllers, views, routes) ระหว่างหลายแอปพลิเคชัน หรือสร้างฟีเจอร์ที่แยกอิสระและนำกลับมาใช้ใหม่ได้ gem อย่าง Devise, Sidekiq Web UI และ ActiveAdmin เป็นตัวอย่างของ engine ยอดนิยมที่ใช้ในระบบนิเวศ Rails

2

คำสั่งใดที่ใช้สร้าง Rails Engine แบบ mountable ใหม่?

คำตอบ

คำสั่ง rails plugin new พร้อมตัวเลือก --mountable จะสร้าง engine ที่สมบูรณ์พร้อม namespace ของตัวเอง routes ที่แยกอิสระ และโครงสร้างโฟลเดอร์ ตัวเลือก --mountable สร้าง engine ที่แยกอิสระอย่างสมบูรณ์จากแอปพลิเคชัน host ต่างจาก --full ที่สร้าง engine แบบไม่แยกอิสระซึ่งใช้ namespace ของแอปพลิเคชันหลักร่วมกัน

3

ความแตกต่างหลักระหว่าง engine --mountable กับ engine --full คืออะไร?

คำตอบ

engine --mountable แยกอิสระอย่างสมบูรณ์ด้วย namespace (module) ของตัวเอง helpers ของตัวเอง และ routes ที่แยกอิสระภายใต้คำนำหน้าที่กำหนดค่าได้ ส่วน engine --full ใช้ namespace ของแอปพลิเคชัน host ร่วมกัน ซึ่งอาจทำให้เกิดความขัดแย้งของชื่อ การแยกอิสระของ mountable engine ช่วยให้แน่ใจว่าคลาสและ routes ของ engine ไม่ไปรบกวน namespace ของแอปพลิเคชันหลัก

4

จะ mount Rails Engine ในไฟล์ routes.rb ของแอปพลิเคชัน host อย่างไร?

5

ไดเรกทีฟ isolate_namespace ใน Rails Engine มีจุดประสงค์อะไร?

+15 คำถามสัมภาษณ์

หัวข้อสัมภาษณ์ Ruby on Rails อื่นๆ

พื้นฐาน Ruby

Junior
25 คำถาม

การเขียนโปรแกรมเชิงวัตถุใน Ruby

Junior
20 คำถาม

พื้นฐาน Rails

Junior
18 คำถาม

Routing & Controllers

Junior
22 คำถาม

พื้นฐาน ActiveRecord

Junior
25 คำถาม

Views และ ERB Templates

Junior
20 คำถาม

การเชื่อมโยงของ ActiveRecord

Mid-Level
24 คำถาม

การสอบถาม ActiveRecord ขั้นสูง

Mid-Level
28 คำถาม

ฟอร์ม Rails

Mid-Level
20 คำถาม

การยืนยันตัวตนและการอนุญาต

Mid-Level
22 คำถาม

Asset Pipeline สมัยใหม่และ frontend

Mid-Level
18 คำถาม

โหมด API ของ Rails

Mid-Level
20 คำถาม

การทดสอบด้วย RSpec

Mid-Level
24 คำถาม

ActiveJob & Background Jobs

Mid-Level
20 คำถาม

ActionCable & WebSockets

Mid-Level
18 คำถาม

ActionMailer

Mid-Level
18 คำถาม

ActiveStorage

Mid-Level
20 คำถาม

กลยุทธ์การ Caching

Mid-Level
20 คำถาม

การ Migration ขั้นสูง

Mid-Level
20 คำถาม

การเพิ่มประสิทธิภาพการทำงาน

Senior
26 คำถาม

Design Patterns ใน Rails

Senior
22 คำถาม

เมตาโปรแกรมมิงใน Ruby

Senior
20 คำถาม

ความปลอดภัยของ Rails

Senior
22 คำถาม

GraphQL กับ Rails

Senior
20 คำถาม

การดีพลอยและโปรดักชัน

Senior
20 คำถาม

Monitoring & Logging

Senior
20 คำถาม

กลยุทธ์การอัปเกรด Rails

Senior
18 คำถาม

เชี่ยวชาญ Ruby on Rails สำหรับการสัมภาษณ์ครั้งถัดไป

เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์

เริ่มใช้ฟรี