Eu tinha visto esse episódio e achei um tanto complexo essa solução,
acabei resolvendo desse jeito:
def listType
@productId = params[:value]
@selectId = params[:id]
@prodType = ProductType.find(:all, :conditions => ['product_id
= ?', @productId], :order => 'name')
render :update do |page|
page << "for(var i = document.getElementById('type_"+@selectId
+"').options.length; i > -1 ; i--){"
page << "document.getElementById('type_"+@selectId+"').remove
(i);"
page << "}"
@prodType.each do |p|
page << "var o = document.createElement('option');"
page << "o.text =" + "'" + p.name.to_s + "'"
page << "o.value =" + "'" + p.id.to_s + "'"
page << "document.getElementById('type_"+@selectId
+"').options.add(o);"
end
end
end
Ou seja, inclui uma rotina pequena que tinha em js dentro do código do
rails, funcionou perfeito.
se alguém tiver outra forma, pode falar.
[]'s
On Nov 12, 10:39 pm, Diego Lucena <
diegojluc...@gmail.com> wrote:
> Hum, se eu entendi bem parece-me o caso classico de select dinamico, como os
> de país > estado , ou estado -> cidade.
>
> Sugiro que de uma olhada no episodio 88 do
> railscast<
http://railscasts.com/episodes/88-dynamic-select-menus> que
> encina justamente fazer isso, porém eu acrescentaria algum gif de progresso
> dizendo que o segundo select esta sendo carregado.
>
> espero ter ajudado.
>
> att.
>
> Diego
>
> 2009/11/12 sidneivl <
sidne...@gmail.com>