在水豚中fill_in集合字段的正确元素名称是什么?



这是引号表单上mfg_process_id字段的html源代码。此字段提供进程集合。

<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填写字段,只需传递标签文本或输入的名称。但对于集合字段来说,情况似乎并非如此。水豚采集场的正确名称是什么?

Capybara的fill_in用于基于文本的字段。您希望使用select来选择选项。

最新更新