Colin Law wrote:
> I think maybe you cannot include query terms in form_for :url.  An
> alternative is to use hidden fields in the form.

Colin, thank you.   You appear to be correct.

So for the next poor person fighting to get internationalization to work
(I18n.  See http://guides.rubyonrails.org/i18n.html Section 2.3 Setting
and Passing the Locale) ..

form_for cannot be, uh, "internationalized" because the various flavors
of url_for that I18n hooks will have the locale parameter disappear if a
form, any form, is used. It appears not to be an ruby/rails/I18n problem
but an arcane "problem" in html.

Thus ... if you want to pass a couple of extra parameters when using
form_for ... you can do what I did.  I'm pasting in my adlterated code:

- - - - - - -
<% form_for @countryToSearchFor,
     :url => signed_in_path(:action => "show", :id =>
'connected_to_country'),
     :html => {:method => :get} do |f| %>
  <input type="hidden" name="locale" value="<%= params[:locale] %>" >
  <input type="hidden" name="somename" value="someothervalue" >
  <%= f.select :country,
               language_neutral_array_of_countries,
               :prompt => shnI18n.literal('enter_country') %>
  <br />
  <br />
  <div>
    <%= f.submit shnI18n.literal('search_for_connection') %>
  </div>
<% end %>
- - - - - - -

You will note the
  <input type="hidden" name="locale" value="<%= params[:locale] %>" >
  <input type="hidden" name="somename" value="someothervalue" >

The first <input> is the critical one where the locale is being passed.
The second <input> simply shows how to pass :somename =>
"someothervalue".

Both parameters (locale, somename) will end up in the params received by
the relevant controller.

- - -

I find using raw html to be far far easier to understand and more
convenient to use than the hidden_field api documented in
http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html.

- - -

I find it amusing that the spam filter does not like the (proper 
spelling of) the word "adlterated"
-- 
Posted via http://www.ruby-forum.com/.

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-t...@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to