Kapibara: Bir giriş alanını kimliğine göre nasıl doldururum?


88

Bu bende var:

<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> 

Bu alanı kimliğine göre nasıl doldururum?

Yanıtlar:


126

fill_in kimliği ilk parametre olarak kabul eder:

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

9
Öyle sanıyordum ama işe yaramıyor. Görünüşe göre onu doldurmuyor. Bulamama konusunda hata yapmaz. Sadece doldurmuyor.
— Nerian

Belki söz konusu capybara kodunu ve ilgili başka bir kodu ekleyebilirsiniz.
— raidfive

Sorunun Mongoid'in neresinde olduğunu keşfettim. Aday hatalarını serbest bırakın.
— Nerian

@Nerian ah! anladığına sevindim
— raidfive

çözümü bulduk mu?
— Zakos

32

Şunlarla da yapabilirsiniz:

find('Id or class here').set('some text')

7

fill_inilk başta kafa karıştırıcı bulduğum # sembolü olmadan id'yi kabul ediyor. Ayrıca, giriş alanınız bir modal içindeyse, alanı doldurmadan önce geçişi beklemeniz veya kararmanız gerekebileceğini unutmayın.


4

Simple_form gem kullanıyorsanız , bunun form öğelerinizi otomatik olarak tanımladığını unutmayın, bu nedenle öğeleri manüel olarak kendiniz id- atamak boşunadır!

Var; ancak simple_form'un id form öğelerini izlediği bir adlandırma kuralı.

object_attribute

Dolayısıyla, için bilgileri dolduruyorsanız, aşağıdaki gibi bir iletişim nesnesi diyelim:

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

simple_form daha sonra sırasıyla her form öğesi için sırasıyla kimlikler oluşturur:

id="contact_first_name"
id="contact_last_name"

Artık tüm doldurma gereksinimlerinizi karşılamak için bu adlandırma kuralından yararlanabilirsiniz. Bu yardımcı olur umarım.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.