Ruby on Rails

ฟอร์ม Rails

form_with, model forms, form_for legacy, strong parameters, nested attributes, file uploads

20 คำถามสัมภาษณ์·
Mid-Level
1

form helper ใดที่แนะนำใน Rails 5.1+ สำหรับการสร้างฟอร์ม?

คำตอบ

form_with คือ helper แบบรวมที่เปิดตัวใน Rails 5.1 ซึ่งแทนที่ form_for และ form_tag โดยค่าเริ่มต้นจะสร้างฟอร์มด้วย remote: true (คำขอ AJAX) และทำให้ไวยากรณ์ง่ายขึ้นด้วยการตรวจจับอัตโนมัติว่ามีการส่งอ็อบเจกต์โมเดลเข้ามาหรือไม่ การรวมนี้ลดความสับสนระหว่าง helper เก่าทั้งสองตัวและให้ API ที่สอดคล้องกันมากขึ้น

2

ความแตกต่างระหว่าง form_with model: @user และ form_with url: users_path คืออะไร?

คำตอบ

เมื่อใช้ model: @user, Rails จะกำหนด URL และเมธอด HTTP โดยอัตโนมัติตามสถานะของอ็อบเจกต์ (new_record? หรือ persisted?) สำหรับเรคคอร์ดใหม่จะใช้ POST ไปยัง users_path สำหรับเรคคอร์ดที่มีอยู่แล้วจะใช้ PATCH ไปยัง user_path(@user) ส่วน url: users_path ต้องระบุ URL และเมธอด HTTP ที่เหมาะสมด้วยตนเอง

3

จะปิดการส่งแบบ AJAX ที่เป็นค่าเริ่มต้นของ form_with เพื่อให้ได้การส่งแบบ HTML คลาสสิกได้อย่างไร?

คำตอบ

โดยค่าเริ่มต้น form_with จะสร้างฟอร์มที่มี data-remote='true' ซึ่งส่งคำขอ AJAX หากต้องการการส่งแบบ HTML ดั้งเดิมพร้อมการโหลดหน้าใหม่ ต้องเพิ่ม local: true ตั้งแต่ Rails 6.1 เป็นต้นไป สามารถกำหนดพฤติกรรมเริ่มต้นแบบทั่วทั้งระบบผ่าน config.action_view.form_with_generates_remote_forms

4

บทบาทของ strong parameters ในบริบทของฟอร์ม Rails คืออะไร?

5

จะกำหนดเมธอด strong parameters สำหรับโมเดล Article ที่มี title และ content อย่างถูกต้องได้อย่างไร?

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

หัวข้อสัมภาษณ์ 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 คำถาม

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

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 คำถาม

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

Senior
18 คำถาม

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

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 และตัวจำลองสัมภาษณ์

เริ่มใช้ฟรี