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
-~----------~----~----~----~------~----~------~--~---

Reply via email to