Listas dependientes

Buenos dias compañeros, me volvi adicto a rails.

ahora tengo un problema, “como siempre”.

necesito hacer dos listas, una depende de la otra, ya todo ok gracias a
vicent
http://www.vicentgozalbes.com/articles/2006/08/05/listas-combinadas-con-ajax-y-ror

pero al guardar me dice que centro_id es null.

como cargo este valor si este se debe cargar con la lista remota?

aqui envio el codigo. gracias

este es el _form.rhtml

<%= error_messages_for ‘dependencia’ %>

Regional

<% change_list = remote_function(:update => ‘select_centros’, :url =>
{ :action => :list_centros }, :with => “‘regional_id=’+value”) %>

<%= select(“regional”, “regional_id”, Regional.find(:all).collect {|p|
[ p.nombre, p.id ] }, { :include_blank => true }, { :onchange =>
change_list }) %>

<%= render_component :action => 'list_centros' %>

Nombre

<%= text_field ‘dependencia’, ‘nombre’ %>

Telefono
<%= text_field 'dependencia', 'telefono' %>

esta es la lista secundaria
_list_centros.rhtml

<%=collection_select(:centro, :centro_id, @centros, :id, :nombre,
options = {:prompt => “- Seleccione su centro -”} )%>

amigos son tres listas dependientes, me frene en la programacion, como
puedo solucionar esto? que me recomiendan?

  1. la primera lista es un select normal
  2. la segunda lista depende de la primera
  3. y la tercer lista depende de la segunda.

por favor me dicen como soluciono este chicharron

gracias

Hola Wifer, aqui te pongo algo del codigo que uso para realizar esto:
http://pastie.caboo.se/64602

Ojala te sirva!.

Ruben.

El vie, 25-05-2007 a las 19:08 +0200, wifer escribió:

Ruben, te pregunto muy rapido.

debo tener un paquetes.rb? y donde lo ubico?

gracias

Ruben Davila wrote:

Hola Wifer, aqui te pongo algo del codigo que uso para realizar esto:
Parked at Loopia

Ojala te sirva!.

Ruben.

El vie, 25-05-2007 a las 19:08 +0200, wifer escribió:

Dios te pague Ruben.
ya empece a implementarlo, estaba urgido, si tengo alguna duda te
molesto.

mil gracias y luego te cuento

saludos.

Gracias. Mira Ruben.

en la vista _form.rhtml tengo:

<%= error_messages_for ‘dependencia’ %>

<%= select :paquete, :regional, @regionales.collect{|c|
[c.nombre,c.id]},:prompt=>"-Select Regional-" %>
<%= select :paquete, :centro,[["-Select Centro-",""]] %>
<%= select :paquete, :dependencia_id,[["-Select Dependencia-",""]] %>

<%= observe_field “paquete_regional”,
{:url => {:action => ‘devuelve_centros’},
:with => “paquete_regional”} %>
<%= observe_field “paquete_centro”,
{:url => {:action => ‘devuelve_dependencias’},
:with => “paquete_centro”} %>
<%= observe_field “paquete_dependencia_id”,
{:url => {:action => ‘devuelve_tamano’}, :with =>
“paquete_dependencia_id”} %>

Nombre

<%= text_field ‘dependencia’, ‘nombre’ %>

Telefono
<%= text_field 'dependencia', 'telefono' %>

en el controller Dependencias_controller.rb
def devuelve_centros
return unless request.xhr?
centros = centro.find(:all, :conditions => [“regional_id=?”,
params[:paquete_regional]])
render :update do |page|
page << update_select_box( “paquete_centro”,
centros, {:text => :nombre, :clear =>
[‘paquete_dependencia_id’,‘paquete_tamano_id’]} )
end
end

def devuelve_dependencias
return unless request.xhr?
dependencias = Dependencia.find( :all, :conditions =>
[“centro_id=?”, params[:paquete_centro]])
render :update do |page|
page << update_select_box( “paquete_dependencia_id”,
dependencias, {:text => :nombre , :clear=>[‘paquete_tamano_id’]}
)
end
end

que me hara falta: mil gracias Ruben, dependo de ti para decidir si
regreso a java.

Wifer, paquete.rb es un modelo de mi aplicacion, debes reemplazar todo
por tus propios objetos.

Saludos.

El vie, 25-05-2007 a las 20:55 +0200, wifer escribió: