Forum: Rails-ES listas dependientes

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
98988743c92ccb0612e5403b97c11039?d=identicon&s=25 wifer (Guest)
on 2007-05-25 14:40
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/...

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' %>
<!--[form:dependencia]-->
<p>
 <label for="regional_id">Regional</label><br/>

  <% 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 }) %>

  <span id="select_centros">
    <%= render_component :action => 'list_centros' %>
  </span>
  </p>

  <label for="dependencia_nombre">Nombre</label><br/>
  <%= text_field 'dependencia', 'nombre'  %></p>

  <p><label for="dependencia_telefono">Telefono</label><br/>
  <%= text_field 'dependencia', 'telefono'  %></p>
<!--[eoform:dependencia]-->


esta es la lista secundaria
_list_centros.rhtml

<%=collection_select(:centro, :centro_id, @centros, :id, :nombre,
options = {:prompt => "- Seleccione su centro -"} )%>
98988743c92ccb0612e5403b97c11039?d=identicon&s=25 wifer (Guest)
on 2007-05-25 19:08
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
A9798ef15addcb1578aa0906788d2e92?d=identicon&s=25 Ruben Davila (rub3n)
on 2007-05-25 20:02
(Received via mailing list)
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ó:
98988743c92ccb0612e5403b97c11039?d=identicon&s=25 wifer (Guest)
on 2007-05-25 20:51
Ruben Davila wrote:
> 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ó:

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

mil gracias y luego te cuento

saludos.
98988743c92ccb0612e5403b97c11039?d=identicon&s=25 wifer (Guest)
on 2007-05-25 20:55
Ruben, te pregunto muy rapido.

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

gracias
A9798ef15addcb1578aa0906788d2e92?d=identicon&s=25 Ruben Davila (rub3n)
on 2007-05-25 21:42
(Received via mailing list)
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ó:
98988743c92ccb0612e5403b97c11039?d=identicon&s=25 William Betancur (william)
on 2007-05-25 21:58
Gracias.  Mira Ruben.

en la vista _form.rhtml tengo:

<%= error_messages_for 'dependencia' %>

<!--[form:dependencia]-->

<p>

<%= 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"} %>

  <label for="dependencia_nombre">Nombre</label><br/>
  <%= text_field 'dependencia', 'nombre'  %></p>

  <p><label for="dependencia_telefono">Telefono</label><br/>
  <%= text_field 'dependencia', 'telefono'  %></p>

<!--[eoform:dependencia]-->

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.
This topic is locked and can not be replied to.