อีเมล

sales@gneerail.com

โทร

+8615824687445

Whatsapp

8615824687445

วิธีสร้างฟอร์มอย่างง่ายใน Rails โดยใช้ `form_with`?

Oct 09, 2025ฝากข้อความ

ในโลกแบบไดนามิกของการพัฒนาเว็บ Ruby on Rails มีความโดดเด่นในฐานะเฟรมเวิร์กที่ทรงพลังและมีประสิทธิภาพสำหรับการสร้างเว็บแอปพลิเคชัน ลักษณะพื้นฐานประการหนึ่งของเว็บแอปพลิเคชันจำนวนมากคือความสามารถในการรวบรวมข้อมูลของผู้ใช้ผ่านแบบฟอร์ม ในโพสต์บนบล็อกนี้ ฉันจะแนะนำคุณตลอดขั้นตอนการสร้างแบบฟอร์มอย่างง่ายใน Rails โดยใช้form_withผู้ช่วย ในฐานะซัพพลายเออร์ของ Rails ฉันได้รับสิทธิพิเศษในการทำงานในโครงการมากมายที่แบบฟอร์มมีบทบาทสำคัญ และฉันตื่นเต้นที่จะแบ่งปันข้อมูลเชิงลึกกับคุณ

ความเข้าใจform_withในราง

ก่อนที่เราจะเจาะลึกในการสร้างแบบฟอร์ม เราขอใช้เวลาสักครู่เพื่อทำความเข้าใจเกี่ยวกับอะไรform_withเป็น.form_withเป็นวิธีการช่วยเหลือใน Rails ที่ทำให้กระบวนการสร้างแบบฟอร์ม HTML ง่ายขึ้น โดยให้วิธีที่ยืดหยุ่นและใช้งานง่ายในการสร้างแบบฟอร์มที่มีทั้งความหมายที่ถูกต้องและดูแลรักษาง่าย ไม่ว่าคุณกำลังสร้างแบบฟอร์มการติดต่อแบบธรรมดาหรือแบบฟอร์มหลายขั้นตอนที่ซับซ้อนform_withคุณได้ครอบคลุมแล้ว

การตั้งค่าแอปพลิเคชัน Rails ใหม่

หากคุณยังไม่ได้ตั้งค่า คุณจะต้องตั้งค่าแอปพลิเคชัน Rails ใหม่ เปิดเทอร์มินัลของคุณและรันคำสั่งต่อไปนี้:

รางใหม่ simple_form_app cd simple_form_app

สิ่งนี้จะสร้างแอปพลิเคชัน Rails ใหม่ชื่อsimple_form_appและนำทางคุณไปยังไดเร็กทอรีแอปพลิเคชัน

การสร้างคอนโทรลเลอร์และมุมมอง

ต่อไป เราจะสร้างตัวควบคุมและมุมมองเพื่อจัดการแบบฟอร์มของเรา รันคำสั่งต่อไปนี้ในเทอร์มินัลของคุณ:

รางสร้างตัวควบคุมแบบฟอร์มใหม่

สิ่งนี้จะทำให้เกิดตัวควบคุมฟอร์มด้วยใหม่การดำเนินการและไฟล์มุมมองที่เกี่ยวข้องที่app/views/forms/new.html.erb.

การสร้างแบบฟอร์มโดยใช้form_with

เอาล่ะเรามาเปิด.app/views/forms/new.html.erbไฟล์และสร้างแบบฟอร์มของเราโดยใช้form_with. ต่อไปนี้คือตัวอย่างแบบฟอร์มการติดต่อแบบง่ายๆ:

<%= form_with(url: "/submit_form", method: :post) ทำ |form| %> <div> <%= form.label :name %> <%= form.text_field :name %> </div> <div> <%= form.label :email %> <%= form.email_field :email %> </div> <div> <%= form.label :message %> <%= form.text_area :message %> </div> <div> <%= form.submit "ส่ง" %> </div> <% สิ้นสุด %>

ในตัวอย่างนี้ เรากำลังใช้form_withเพื่อสร้างแบบฟอร์มที่จะส่งข้อมูลไปที่/submit_formURL โดยใช้โพสต์วิธี. ภายในบล็อกแบบฟอร์ม เรากำลังใช้วิธีการช่วยเหลือแบบฟอร์มต่างๆ เพื่อสร้างช่องป้อนข้อมูลสำหรับชื่อผู้ใช้ อีเมล และข้อความ รวมถึงปุ่มส่ง

49E2 Steel RailBS 100A Rail

จัดการเรื่องการส่งแบบฟอร์ม

ในการจัดการการส่งแบบฟอร์ม เราจะต้องเพิ่มเส้นทางและการดำเนินการให้กับเราตัวควบคุมฟอร์ม. เปิดconfig/เส้นทาง.rbไฟล์และเพิ่มบรรทัดต่อไปนี้:

โพสต์ '/submit_form' ไปที่: 'forms#submit'

นี่จะเป็นการทำแผนที่/submit_formURL ไปยังส่งการกระทำในตัวควบคุมฟอร์ม. ตอนนี้เปิดแอป/คอนโทรลเลอร์/forms_controller.rbไฟล์และเพิ่มการดำเนินการต่อไปนี้:

def send # ที่นี่คุณสามารถประมวลผลข้อมูลแบบฟอร์มได้ เช่น บันทึกลงในฐานข้อมูล name = params[:name] email = params[:email] message = params[:message] # สำหรับตอนนี้ เราจะพิมพ์ข้อมูลไปที่คอนโซล ใส่ "Name: #{name}" ใส่ "Email: #{email}" ใส่ "Message: #{message}" เปลี่ยนเส้นทางไปที่ root_path ข้อสังเกต: 'ส่งแบบฟอร์มเรียบร้อยแล้ว!' จบ

ในการดำเนินการนี้ เรากำลังดึงข้อมูลแบบฟอร์มจากพารามิเตอร์แฮชและพิมพ์ไปที่คอนโซล ในแอปพลิเคชันในโลกแห่งความเป็นจริง โดยทั่วไปคุณจะบันทึกข้อมูลลงในฐานข้อมูลหรือส่งอีเมล หลังจากประมวลผลข้อมูลในแบบฟอร์มแล้ว เรากำลังเปลี่ยนเส้นทางผู้ใช้ไปยังเส้นทางรากพร้อมข้อความแสดงความสำเร็จ

การจัดรูปแบบแบบฟอร์ม

เพื่อให้แบบฟอร์มของเราดูเรียบร้อยมากขึ้น เราสามารถเพิ่มสไตล์ CSS ได้ เปิดแอพ/assets/stylesheets/application.cssไฟล์และเพิ่มสไตล์ต่อไปนี้:

แบบฟอร์ม div { ขอบด้านล่าง: 10px; } ป้ายกำกับแบบฟอร์ม { จอแสดงผล: บล็อก; ขอบล่าง: 5px; } อินพุตแบบฟอร์ม [type = "ข้อความ"], อินพุตแบบฟอร์ม [type = "อีเมล"], แบบฟอร์ม textarea { ความกว้าง: 100%; ช่องว่างภายใน: 5px; เส้นขอบ: 1px ทึบ #ccc; รัศมีเส้นขอบ: 3px; } แบบฟอร์มอินพุต [type = "ส่ง"] { สีพื้นหลัง: # 007BFF; สี: ขาว; การขยาย: 10px 20px; เส้นขอบ: ไม่มี; รัศมีเส้นขอบ: 3px; เคอร์เซอร์: ตัวชี้; } แบบฟอร์มอินพุต [type = "ส่ง"]: โฮเวอร์ { สีพื้นหลัง: # 0056b3; }

สไตล์เหล่านี้จะทำให้ฟอร์มของเราดูสะอาดตาและเป็นมืออาชีพ

การเพิ่มการตรวจสอบความถูกต้องให้กับแบบฟอร์ม

เพื่อให้แน่ใจว่าผู้ใช้ป้อนข้อมูลที่ถูกต้อง เราสามารถเพิ่มการตรวจสอบลงในแบบฟอร์มของเราได้ ใน Rails เราสามารถใช้การตรวจสอบ ActiveRecord เพื่อตรวจสอบข้อมูลก่อนที่จะบันทึกลงในฐานข้อมูล อย่างไรก็ตาม เนื่องจากเราไม่ได้ใช้โมเดลในตัวอย่างนี้ เราจึงสามารถใช้ JavaScript เพื่อทำการตรวจสอบขั้นพื้นฐานในฝั่งไคลเอ็นต์ได้ นี่คือตัวอย่างวิธีเพิ่มการตรวจสอบความถูกต้องให้กับแบบฟอร์มของเราโดยใช้ JavaScript:

document.addEventListener('DOMContentLoaded', function() { const form = document.querySelector('form'); form.addEventListener('submit', function(event) { const name = document.querySelector('input[name="name"]').value; const email = document.querySelector('input[name="email"]').value; const message = document.querySelector('textarea[name="message"]').value; if (ชื่อ === '' || อีเมล === '' || ข้อความ === '') { alert('กรุณากรอกทุกช่อง');

รหัส JavaScript นี้จะป้องกันไม่ให้ส่งแบบฟอร์มหากฟิลด์ที่จำเป็นใด ๆ ว่างเปล่า

บทสรุป

การสร้างแบบฟอร์มอย่างง่ายใน Rails โดยใช้form_withเป็นกระบวนการที่ตรงไปตรงมา โดยทำตามขั้นตอนที่อธิบายไว้ในโพสต์บล็อกนี้ คุณสามารถสร้างแบบฟอร์มการทำงานที่รวบรวมอินพุตของผู้ใช้และจัดการการส่งแบบฟอร์มได้ ในฐานะซัพพลายเออร์ของ Rails ฉันได้เห็นโดยตรงถึงประสิทธิภาพและความยืดหยุ่นของ Rails ในการสร้างแอปพลิเคชันเว็บ และฉันหวังว่าคู่มือนี้จะเป็นประโยชน์กับคุณ

หากคุณสนใจซื้อรางคุณภาพสูงสำหรับโครงการของคุณ เรามีตัวเลือกมากมาย รวมถึงGOST มาตรฐาน KP140 รางเครน,รางเหล็ก 49E2, และราง BS 100A. รางของเราได้รับการออกแบบเพื่อให้ตรงตามมาตรฐานคุณภาพและประสิทธิภาพสูงสุด และเรามุ่งมั่นที่จะให้บริการลูกค้าที่เป็นเลิศ หากคุณมีคำถามหรือต้องการหารือเกี่ยวกับความต้องการของคุณ โปรดอย่าลังเลที่จะติดต่อเราเพื่อขอคำปรึกษาด้านการจัดซื้อจัดจ้าง

อ้างอิง

  • คู่มือ Rails: https://guides.rubyonrails.org/
  • เครือข่ายนักพัฒนา Mozilla: https://developer.mozilla.org/