2013-10-07 2 views
0

Существует следующая генерируется HTML код:Выберите поле с помощью Капибара

<label for="place_type_id">Type</label><br /> 
    <select id="place_type_id" name="place[type_id]"><option value="1">Restaurant</option> 
<option value="2">Cafe</option> 
<option value="3">Club</option></select> 

нужно выбрать какой-то вариант для моего теста RSpec:

select "Club", from: "place[type_id]" 

Но это не работает. Как я могу это исправить? Я пытался использовать «id» вместо «name» в параметре «from», но он тоже не работает.

+0

Можете ли вы уточнить, что "она не работает" означает? Есть ли исключение (если да, то укажите трассировку стека)? –

ответ

0

Похоже, что поле выбора можно найти по имени, идентификатору или ярлыку, чтобы ваш пример выглядел так, как будто он должен работать. От Capybara::Node::Actions:

Найти поле выбора на странице и выбрать конкретную опцию. Если поле выбора является множественным, выберите один из вариантов: раз, чтобы выбрать несколько вариантов. Поле выбора можно найти через его имя, идентификатор или текст ярлыка.

Мы, очевидно, что-то пропускаем. Может быть, квадратные скобки отбрасывают капибару? Посмотрите, что происходит при выборе текста ярлыка.

select 'Club', from: 'Type' 

Или ID:

select 'Club', from: :place_type_id 
Смежные вопросы