Problemas con el select

Hola a todos, soy un nuevo usuario de rails como de ruby. Tengo lo
siguiente:

En un form para crear textos tengo:

En la vista: new.rhtml

Título
<%= text_field 'texto', 'title' %>

Autor
<%= text_field 'texto', 'author' %>

Tipo de Texto
<%= select('texto', 'idTipo', TipoTexto.find(:all).collect {|c| [c.Nombre, c.id] }, {:include_blank => true}) %>

Edición
<%= text_field 'texto', 'edition' %>

Fecha de Publicación
<%= date_select 'texto', 'date' %>

Editor
<%= text_field 'texto', 'editor' %>


Donde el select me trae una lista de tipos de publicaciones. Ahora la
cuestion es la siguiente.
Yo quiero que cuando cambie el estado de un elemento del select me
aparezca, por ejemplo, el Editor si el valor del selec es 1. Si el valor
es 2 que me aparezca el editor y el año y asi con el resto. Es decir,
para cada publicacion tengo text_forms que quiero completar y que me
aparecen a medida que los selecciono, es decir, de forma dinamica en la
pagina.
No se como pasar el valor del IdTipo para hacer algo como:

<% if IdTipo == 1 then %>

Edición
<%= text_field 'texto', 'edition' %>

<% end %>

Espero que alguien me entienda jejeje. Saludos a todos!!

Buenos dias, yo estoy empezando con todo esto, pero creo que tu problema
se
puede solucionar con
Ajax de forma elegante. No lo sé, puede que si

El día 9/11/07, Andres P. [email protected]
escribió:

Andres P. wrote:

Donde el select me trae una lista de tipos de publicaciones. Ahora la
cuestion es la siguiente.
Yo quiero que cuando cambie el estado de un elemento del select me
aparezca, por ejemplo, el Editor si el valor del selec es 1. Si el valor
es 2 que me aparezca el editor y el año y asi con el resto. Es decir,
para cada publicacion tengo text_forms que quiero completar y que me
aparecen a medida que los selecciono, es decir, de forma dinamica en la
pagina.

Espero se entienda la idea, cómo bien te respondieron con Ajax lo
resuelves :

En la vista, mediante observe_field, detectará un cambio en el estado de
agencia_id y enviará al servidor mediante una llamada Ajax el valor
seleccionado, se recibirá en la acción change_agencia del controlador :

<%= collection_select :agencia, :id, Agencia.find(:all, :order =>
“nombre”), :id, :nombre, html_options = {:include_blank => true} %>

<%= observe_field(“agencia_id”, :frequency => 0.25, :url => { :action =>
“change_agencia” }, :with => “‘agencia_id=’ + escape(value)”) %>

#En el controlador renderizará la plantilla RJS change_agencia.rjs que
se encargará de actualizar un elemento del DOM mediante un partial :

def change_agencia
agencia_id = params[:agencia_id].to_i
@rutas = Ruta.find(:all, :conditions => [“agencia_id = ?”,
agencia_id])
end

#Plantilla RJS: change_agencia.rjs

page.replace_html ‘rutas_list’, :partial => ‘rutas’

#Partial _rutas.rhtml

<%= collection_select :movto, :ruta_id, @rutas, :id, :nom_vendedor %>

Espero te sirva.

Jaime Mora R.