web-dev-qa-db-ja.com

カピバラ:入力フィールドにIDで入力する方法

私はこれを持っています:

<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でそのフィールドに入力するにはどうすればよいですか?

83
Nerian

fill_inは、最初のパラメーターとしてIDを受け入れます。

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

次の方法でも実行できます。

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

fill_inは、最初に紛らわしいと感じた#記号のないidを受け入れます。また、入力フィールドがモーダルの場合は、フィールドを埋める前に遷移を待つかフェードインする必要がある場合があることに注意してください。

6
Strangegroove

simple_form gemを使用している場合、フォーム要素を自動的にidするため、要素を手動でidすることは無益であることに注意する必要があります!

がある;ただし、simple_formがidフォーム要素に続く命名規則。

object_attribute

したがって、次のように連絡先オブジェクトの情報を入力する場合:

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

simple_formは、次のように、各フォーム要素にそれぞれ自動的にidを生成します。

id="contact_first_name"
id="contact_last_name"

これで、この命名規則を使用して、fill_inのすべてのニーズを満たすことができます。お役に立てれば。

3
moeabdol