Hey all.
I’m trying use the form tag(s) to create a named / id’d form. I.e.,
I need to use JS to access the form via the DOM and submit it -
support for a reusable navigation component which will persist app
state on each jump.
However, from reading the form_tag APIs and searching google, I don’t
see where either :name or :id is an option which can be passed into
the form* tags. And having tried a number of permutations for
specifying the additional parameter based on the conventions for
other tags all result in error.
Any thoughts?
Thanks much,
mx.
Michael Xenakis
Architect
Ã?bermind, Inc.
206.290.3362
[email protected]
http://www.ubermind.com
I struggled with this same problem for a while. The issue, as you say,
is how to specify the DOM id of a form when using the form_tag method.
This is helpful when using things like ‘observe_form’, which requires
the form’s ID.
Try this:
<%= form_tag( {:action=>‘xyz’}, {:id=>‘my_form_id’} ) %>
*** The key is to surround your arguments with parenthesis. ***
I could swear that passing multiple hashes without surrounding parens
works in many other methods, so I’m not sure why it’s a problem here.
I hope this helps anyone who’s struggled with this.
-Ben Ridout
Ruby doesn’t know if it’s a hash or a block - that’s why you need
parentheses. ie:
foo.bar { … }
the intent of the braces is ambiguous (and is most likely a block),
but
foo.bar( { … } )
clearly is taking a hash as an argument.
On Jun 8, 4:34 pm, Bne R. [email protected]