Forum: Ruby mechanize form.fields.name

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Daly (Guest)
on 2009-03-12 19:26
(Received via mailing list)
Hi,

I'm using mechanize version 0.9.2, and am having an issue with
form.fields.name("foo")

the code looks something like:

agent = WWW::Mechanize.new
page = agent.get("mypage.html")
form = page.form('myform')

Now I need to set the value of a select box in the form. The select
box name is report_type. The options in the select box are "Reports"
and "Advanced Reports".

using form.report_type gives me "1"
(rdb:1) form.report_type
"1"

Reading the documentation wasn't helpful, but I saw another post that
says you can do:

form.fields.name("report_type"), but that gives me:
(rdb:1) form.fields.name('report_type')
NoMethodError Exception: undefined method `name' for #<Array:
0x2fdc33c>

because form.fields IS an array :)

Any pointers on how to set the select box's value back and forth
between Reports and Advanced Reports?

Thanks
Aaron P. (Guest)
on 2009-03-13 01:22
(Received via mailing list)
On Fri, Mar 13, 2009 at 02:23:08AM +0900, Daly wrote:
>
>
> form.fields.name("report_type"), but that gives me:
> (rdb:1) form.fields.name('report_type')
> NoMethodError Exception: undefined method `name' for #<Array:
> 0x2fdc33c>
>
> because form.fields IS an array :)

Yes, this functionality was deprecated a while back.

> Any pointers on how to set the select box's value back and forth
> between Reports and Advanced Reports?

Try this:

  p form.report_type

Hopefully that will get you the select list for the report_type.

If that doesn't work, I'll need an example I can execute.
This topic is locked and can not be replied to.