I have a page, which renders a partial that contains a ''State''
drop
down list. Upon change, it re-renders the ''City'' drop down,
re-
populating it based on selected state_id:
Page: /customer/new.rhtml
<% form_for :customer, :url => customers_path do |f| %>
State: <%= f.collection_select :state_id, State.find(:all),
''id'',
''description'' %>
<%= observe_field :customer_state_id, :url => search_cities_url, :with
=> ''search[state_id]'' %>
<.div id=''state_div''><%= render :partial =>
''city/list'', :object =>
[], :locals => { :f => f } %>
<% end %>
class CustomerController...
def create
@customer = Customer.create params[:customer] # => { :state_id
=> X, :city_id => Y }
...
end
end
Partial: /city/_list.rhtml
City: <%= f.collection_select :city_id, list, ''id'',
''name'' %>
class CityController...
def search
@cities = City.find :all, :conditions => params[:search] # =>
{ :state_id => X }
end
RJS: /city/search.rjs
page.replace_html ''state_div'', :partial =>
''list'', :object =>
@cities, :locals => { :f => ???? }
My problem is that when rendering my partial ''city/list'' from
new.rhtml, I have access to my FormBuilder f and therefore can DRY up
my params hash key ''customer'' for all form input elements I
use in my
partial, which is great. However, when I render my partial from an
rjs, I no longer have access to the FormBuilder f. I don''t want to
hard-code the controller#params key ''search'' inside my partial
either
because I can have other rhtml pages that uses the same
''city/list''
partial but want to render it inside a different form_for key
than :customer.
So here is my question: for my partial ''city/_list.rhtml'', how
can I
customize its controller#params POST key (eg. customer[:city_id]) such
that I can have multiple render entry points into the partial but not
all has the good-ole FormBuilder?
--~--~---------~--~----~------------~-------~--~----~
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-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---