
ฟอร์ม Rails
form_with, model forms, form_for legacy, strong parameters, nested attributes, file uploads
1form helper ใดที่แนะนำใน Rails 5.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 คืออะไร?
ความแตกต่างระหว่าง 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 คลาสสิกได้อย่างไร?
จะปิดการส่งแบบ AJAX ที่เป็นค่าเริ่มต้นของ form_with เพื่อให้ได้การส่งแบบ HTML คลาสสิกได้อย่างไร?
คำตอบ
โดยค่าเริ่มต้น form_with จะสร้างฟอร์มที่มี data-remote='true' ซึ่งส่งคำขอ AJAX หากต้องการการส่งแบบ HTML ดั้งเดิมพร้อมการโหลดหน้าใหม่ ต้องเพิ่ม local: true ตั้งแต่ Rails 6.1 เป็นต้นไป สามารถกำหนดพฤติกรรมเริ่มต้นแบบทั่วทั้งระบบผ่าน config.action_view.form_with_generates_remote_forms
บทบาทของ strong parameters ในบริบทของฟอร์ม Rails คืออะไร?
จะกำหนดเมธอด strong parameters สำหรับโมเดล Article ที่มี title และ content อย่างถูกต้องได้อย่างไร?
+17 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Ruby on Rails อื่นๆ
พื้นฐาน Ruby
การเขียนโปรแกรมเชิงวัตถุใน Ruby
พื้นฐาน Rails
Routing & Controllers
พื้นฐาน ActiveRecord
Views และ ERB Templates
การเชื่อมโยงของ ActiveRecord
การสอบถาม ActiveRecord ขั้นสูง
การยืนยันตัวตนและการอนุญาต
Asset Pipeline สมัยใหม่และ frontend
โหมด API ของ Rails
การทดสอบด้วย RSpec
ActiveJob & Background Jobs
ActionCable & WebSockets
ActionMailer
ActiveStorage
กลยุทธ์การ Caching
การ Migration ขั้นสูง
Rails Engines และแอปแบบโมดูลาร์
การเพิ่มประสิทธิภาพการทำงาน
Design Patterns ใน Rails
เมตาโปรแกรมมิงใน Ruby
ความปลอดภัยของ Rails
GraphQL กับ Rails
การดีพลอยและโปรดักชัน
Monitoring & Logging
กลยุทธ์การอัปเกรด Rails
เชี่ยวชาญ Ruby on Rails สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี