Вот исходный код html для поля mfg_process_id в форме цитаты. В это поле подается набор процессов.
<div class="input select required quote_mfg_process_id">
<label class="select required control-label" for="quote_mfg_process_id">
<abbr title="required">*</abbr>
<span class="translation_missing" title="translation missing: en.Mfg Process">Mfg Process</span>
</label>
<select id="quote_mfg_process_id" class="select required" name="quote[mfg_process_id]">
<option value=""></option>
<option value="1">Process 1</option>
<option value="2">Process 2</option>
</select>
</div>
Для этого поля есть ошибка с кодом fill_in 'quote_mfg_process_id', :with => mfg.id
(mfg — экземпляр процесса):
Capybara::ElementNotFound:
Unable to find field "quote_mfg_process_id"
Ошибка аналогична при попытке со следующим:
fill_in 'quote[mfg_process_id]', :with => mfg.id
fill_in 'Mfg Process', :with => mfg.name
Однако для текстовых полей на той же странице ошибки нет. Мы поняли, что ошибка должна быть вызвана коллекцией, переданной в поле (такая же ошибка для другого поля коллекции). Согласно капибаре fill_in заполняет поля и просто передает текст метки или имя ввода. Но, похоже, это не относится к полю коллекции. Как правильно назвать поле коллекции в капибаре?