установить значение для списка выбора в Mechanize

Рассмотрим следующий объект формы Mechanize

#<Mechanize::Form
 {name "f1"}
 {method "POST"}
 {action "f.php"}
 {fields
  [hidden:0x4db4b02 type: hidden name: opflag value: ]
  [text:0x4db463e type: text name: lno value: 666]
  [selectlist:0x4db84dc type:  name: scode value: []]}
 {radiobuttons}
 {checkboxes}
 {file_uploads}
 {buttons [button:0x4db42ec type: button name: bt value:  Show Result ]}>

Здесь я могу установить значение текстового поля, используя

result_form = page.form('f1')
result_form.lno = '666'

Но я столкнулся с трудностями при установке значения для scode selectlist. я пытался

result_form.field_with(name:"scode").option_with(value: "foo").click

он возвращает ОШИБКУ как undefined methodclick' для nil: NilClass (NoMethodError)` тогда я попытался

result_form.scode.value = 'foo'

Но это также возвращает NoMethodError. Любая идея, как установить значение для списка выбора в Mechanize?


person CuriousMind    schedule 03.07.2012    source источник


Ответы (2)


Попробуйте просто:

result_form.scode = 'foo'
person pguardiario    schedule 03.07.2012
comment
так просто! Не уверен, почему я не попробовал это раньше :D - person CuriousMind; 03.07.2012

result_form["scode"] = "foo" должно помочь. Ссылка в документации

person iGbanam    schedule 03.07.2012