Capybara: ฉันจะกรอกข้อมูลในช่องป้อนข้อมูลด้วย ID ได้อย่างไร


88

ฉันมีสิ่งนี้:

<input class="string optional" 
    id="course_group_courses_attributes_2_name" 
    name="course_group[courses_attributes][2][name]" 
    placeholder="Lengua" 
    size="15" 
    type="text" />
</div> 

ฉันจะกรอกข้อมูลในฟิลด์นั้นด้วย ID ได้อย่างไร?

คำตอบ:


126

fill_in ยอมรับ id เป็นพารามิเตอร์แรก:

fill_in 'course_group_courses_attributes_2_name', :with => 'some text'

9
ฉันคิดอย่างนั้น แต่มันใช้ไม่ได้ ดูเหมือนว่าจะไม่เติมเต็ม มันไม่ได้ให้ข้อผิดพลาดใด ๆ เกี่ยวกับการไม่พบมัน มันก็ไม่ได้เติมเต็ม
Nerian

บางทีคุณอาจใส่รหัสคาปิบาราที่เป็นปัญหาและรหัสอื่น ๆ ที่เกี่ยวข้องก็ได้
จู่โจม

ฉันค้นพบว่าปัญหาอยู่ที่ไหนใน Mongoid ปล่อยข้อบกพร่องของผู้สมัคร
Nerian

@ นีเรียนอา! ดีใจที่คุณคิดออก
raidfive

เรามีทางออกหรือไม่?
Zakos


7

fill_inยอมรับ id โดยไม่มีสัญลักษณ์ # ซึ่งตอนแรกฉันรู้สึกสับสน โปรดทราบว่าหากช่องป้อนข้อมูลของคุณอยู่ในรูปแบบโมดอลคุณอาจต้องรอให้มีการเปลี่ยนแปลงหรือจางลงก่อนจึงจะสามารถกรอกข้อมูลในช่องได้


4

หากคุณใช้อัญมณีแบบsimple_formคุณต้องทราบว่ามันจะ id องค์ประกอบฟอร์มของคุณโดยอัตโนมัติด้วยเหตุนี้องค์ประกอบการทำไอดีด้วยตนเองจึงไร้ประโยชน์!

มี; อย่างไรก็ตามรูปแบบการตั้งชื่อที่ simple_form เป็นไปตามองค์ประกอบของฟอร์ม id

object_attribute

ดังนั้นหากคุณกำลังกรอกข้อมูลเพื่อสมมติว่าวัตถุติดต่อดังต่อไปนี้:

= simple_form_for @contact do |f|
  = f.input :first_name
  = f.input :last_name

simple_form จะสร้างรหัสให้กับแต่ละองค์ประกอบของฟอร์มโดยอัตโนมัติตามลำดับดังนี้:

id="contact_first_name"
id="contact_last_name"

ตอนนี้คุณสามารถใช้รูปแบบการตั้งชื่อนี้เพื่อตอบสนองความต้องการ Fill_in ทั้งหมดของคุณได้ หวังว่านี่จะช่วยได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.