can you show the contents of the overrides please? On Tue, Feb 10, 2009 at 10:07 AM, Rafael Maus <[email protected]> wrote:
> Thanks for the reply, > > I have 2 partials... > > app/views/companies/_city_form_column.html.erb > app/views/companies/_state_form_column.html.erb > > On create, when i choose a state it updates the city <select>, then i can > choose a city and save the record. > But when i want to edit a record the choosen state/city for that record is > not selected on the <select>. > Is it possible to have these fields overriden for create only? > If you did not understand what im trying to explain, please reply. > > > 2009/2/10 Kenny Ortmann <[email protected]> > > You need to look at the html of the select after it is updated. >> make sure that the name of the select is the same before and after your >> dynamic update. >> >> You said that on edit it doesn't set the proper values on the select. >> which select are you talking about, the state select, or are you talking >> about the cities select after you choose a state? >> >> what is the name of the partial that you created? >> >> >> On Tue, Feb 10, 2009 at 7:10 AM, Rafael <[email protected]> wrote: >> >>> >>> Hello, >>> >>> I found a way to make it work =). >>> The partial stays like this: >>> >>> <dt><label for="record_state_">Estado</label></dt> >>> <dd> >>> <%= collection_select(nil, nil, State.find(:all), :id, :name, >>> {:prompt => "Selecione..."}, >>> {:onchange => remote_function(:url => {:action => >>> "on_state_id_change"}, >>> :with => "'state_id='+value"), >>> :class => "state-input", >>> :id => "record_state_", >>> :name => "record[state][id]"}) >>> %> >>> </dd> >>> >>> Then the method on the controller: >>> def on_state_id_change >>> render :update do |page| >>> cities = State.find(params[:state_id]).cities >>> page.replace 'select_city', >>> "<div id='select_city'><dt><label >>> for='record_city_'>Cidade</label></dt><dd>" + >>> collection_select(nil, nil, cities, :id, :name, >>> {:prompt => "Selecione..."}, >>> {:class => "city-input", >>> :id => "record_city_", >>> :name => "record[city][id]"}) + "</dd></div>" >>> end >>> >>> Works for create/show, but when i edit a record it doesn't set the >>> proper values on the select, >>> my guess is that it happens because of the partials, can anyone help >>> me here? >>> What should be done? >>> >>> Thanks, >>> >>> Rafael >>> >>> >>> On 5 fev, 17:17, Rafael <[email protected]> wrote: >>> > I'm trying to do this based on this post > >>> http://pullmonkey.com/2008/3/30/dynamic-select-boxes-ruby-on-rails >>> > I created 2 partials >>> > >>> > _state_form_column.rhtml >>> > >>> > <label>Estado</label> >>> > <%= collection_select(nil, :state_id, states, :id, :name, >>> > {:prompt => "Selecione um Estado"}, >>> > {:onchange => "#{remote_function(:url => >>> > {:action => "update_cities"}, >>> > :with => >>> > "'state_id='+value")}"}) %> >>> > >>> > and >>> > >>> > _city_form_column.rhtml >>> > <label>Cidade</label> >>> > <%= collection_select(nil, :city_id, cities, :id, :name, >>> > {:prompt => "Selecione uma cidade"}) %> >>> > >>> > And on the controller i have a method: >>> > def update_cities >>> > states = State.find(params[:state_id]) >>> > cities = states.cities >>> > >>> > render :update do |page| >>> > page.replace_html 'cities', :partial => >>> > 'state_form_column', :object => cities >>> > end >>> > end >>> > >>> > Webrick boots fine, but when i try to insert a new record i get this >>> > error on development.log >>> > >>> > ActionView::TemplateError (undefined local variable or method `states' >>> > for #<ActionView::Base:0xb6e2dd9c>) on line #2 of app/views/ >>> > neighborhoods/_state_form_column.rhtml: >>> > 1: <label>Estado</label> >>> > 2: <%= collection_select(nil, :state_id, states, :id, :name, >>> > 3: {:prompt => "Selecione um Estado"}, >>> > 4: {:onchange => "#{remote_function(:url => >>> > {:action => "update_cities"}, >>> > 5: :with => >>> > "'state_id='+value")}"}) %> >>> > >>> > Looks pretty obvious, but i don't know how to fix this. >>> > Am i on the right way? >>> > >>> > Rafael >>> > >>> > On 5 fev, 09:51, Rafael <[email protected]> wrote: >>> > >>> > > Hello, >>> > >>> > > Thanks for the quick replies. I think in my case >>> > > AJAX will be more suitable, so Wes if you can >>> > > share that code i'll appreciate. >>> > >>> > > Rafael >>> > >>> > > On 3 fev, 23:56, Wes Gamble <[email protected]> wrote: >>> > >>> > > > I have done something like this using AJAX calls to generate the >>> > > > dependent select's options. >>> > >>> > > > If the Railscast doesn't help, let me know and I can send you some >>> code. >>> > >>> > > > Wes >>> > >>> > > > Rafael wrote: >>> > > > > Hi, >>> > >>> > > > > How can i make a dynamic select? Suppose i have 3 models Country, >>> > > > > State and City. >>> > > > > City belongs_to State and State belongs_to Country. >>> > > > > Then i have a model that belongs_to the 3 models above. >>> > > > > What i want to do is when i select a country it updates the State >>> > > > > select with states from that country, >>> > > > > then i select a State and it updates the city select with cities >>> from >>> > > > > that State. >>> > > > > Any ideas? examples? >>> > >>> > > > > Thanks, >>> >>> >> >> >> > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "ActiveScaffold : Ruby on Rails plugin" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/activescaffold?hl=en -~----------~----~----~----~------~----~------~--~---
