
Rails Engines และแอปแบบโมดูลาร์
Mountable engines, isolated engines, namespacing, สถาปัตยกรรมแบบ gem
1Rails Engine คืออะไร?
Rails Engine คืออะไร?
คำตอบ
Rails Engine คือแอปพลิเคชัน Rails ขนาดย่อที่สามารถ mount เข้าไปในแอปพลิเคชัน host ได้ มันช่วยให้แชร์โค้ด (models, controllers, views, routes) ระหว่างหลายแอปพลิเคชัน หรือสร้างฟีเจอร์ที่แยกอิสระและนำกลับมาใช้ใหม่ได้ gem อย่าง Devise, Sidekiq Web UI และ ActiveAdmin เป็นตัวอย่างของ engine ยอดนิยมที่ใช้ในระบบนิเวศ Rails
2คำสั่งใดที่ใช้สร้าง Rails Engine แบบ mountable ใหม่?
คำสั่งใดที่ใช้สร้าง Rails Engine แบบ mountable ใหม่?
คำตอบ
คำสั่ง rails plugin new พร้อมตัวเลือก --mountable จะสร้าง engine ที่สมบูรณ์พร้อม namespace ของตัวเอง routes ที่แยกอิสระ และโครงสร้างโฟลเดอร์ ตัวเลือก --mountable สร้าง engine ที่แยกอิสระอย่างสมบูรณ์จากแอปพลิเคชัน host ต่างจาก --full ที่สร้าง engine แบบไม่แยกอิสระซึ่งใช้ namespace ของแอปพลิเคชันหลักร่วมกัน
3ความแตกต่างหลักระหว่าง engine --mountable กับ engine --full คืออะไร?
ความแตกต่างหลักระหว่าง engine --mountable กับ engine --full คืออะไร?
คำตอบ
engine --mountable แยกอิสระอย่างสมบูรณ์ด้วย namespace (module) ของตัวเอง helpers ของตัวเอง และ routes ที่แยกอิสระภายใต้คำนำหน้าที่กำหนดค่าได้ ส่วน engine --full ใช้ namespace ของแอปพลิเคชัน host ร่วมกัน ซึ่งอาจทำให้เกิดความขัดแย้งของชื่อ การแยกอิสระของ mountable engine ช่วยให้แน่ใจว่าคลาสและ routes ของ engine ไม่ไปรบกวน namespace ของแอปพลิเคชันหลัก
จะ mount Rails Engine ในไฟล์ routes.rb ของแอปพลิเคชัน host อย่างไร?
ไดเรกทีฟ isolate_namespace ใน Rails Engine มีจุดประสงค์อะไร?
+15 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Ruby on Rails อื่นๆ
พื้นฐาน Ruby
การเขียนโปรแกรมเชิงวัตถุใน Ruby
พื้นฐาน Rails
Routing & Controllers
พื้นฐาน ActiveRecord
Views และ ERB Templates
การเชื่อมโยงของ ActiveRecord
การสอบถาม ActiveRecord ขั้นสูง
ฟอร์ม Rails
การยืนยันตัวตนและการอนุญาต
Asset Pipeline สมัยใหม่และ frontend
โหมด API ของ Rails
การทดสอบด้วย RSpec
ActiveJob & Background Jobs
ActionCable & WebSockets
ActionMailer
ActiveStorage
กลยุทธ์การ Caching
การ Migration ขั้นสูง
การเพิ่มประสิทธิภาพการทำงาน
Design Patterns ใน Rails
เมตาโปรแกรมมิงใน Ruby
ความปลอดภัยของ Rails
GraphQL กับ Rails
การดีพลอยและโปรดักชัน
Monitoring & Logging
กลยุทธ์การอัปเกรด Rails
เชี่ยวชาญ Ruby on Rails สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี