Hola!. He estado utilizando observe_field para bastantes cosas. Tengo al
cargar la aplicación 2 select: categoria y tecnologia. Categoria filtra
las tecnologias.
Hasta aquà todo era muy sencillo porque simplemente era hacer un
observe_field que vigilase el campo categoria, y cuando cambiase se
sustituÃa el select de tecnologias, por otro filtrado con el tipo de
categoria.
Pero luego añadà un radio para poner más tecnologias y lo hice
recursivo. El observe_field vigila el radio y se sustituye por un nuevo
select de tecnologia y por otro radio para añadir otra más.
Y bueno lo que intento hacer ahora es pasarle por parámetro en el
observe del radio, el tipo de categoria, para que si esta es null
muestre las tecnologias normales, y si no, que las filtre.
Pero en vez de eso le pasa el parámetro radio. Se puede pasar otro
parámetro que no sea el del object al que el observe está vigilando?
P.D.- Por si no ha quedado claro:
<%= observe_field(‘radio_tecnologia_id’+session[:contTecno].to_s,
:frequency => 0.5,
:update => :tecnologia_div,
:url => {:action =>:aniade_tecnologia},
:with => “categoria_id”)
%>
Cuando llega a aniade_tecnologia, params[:categoria_id] vale
‘radio_tecnologia_id’. ¿?¿?
Hola,
El manual dice que pasa el Value del objeto, por que lo tienes me parece
un
error en el html
el o los radios deberÃan llamarse ‘radio_tecnologia_id’ y en el
parámetro
value poner, ‘session[:contTecno]’
de esa manera te llega por ‘categoria_id’ el valor del filtro a aplicar.
No hice ninguna prueba… estoy suponiendo …
Saludos
hernan
netflux.com.ar
Hola! Es que no me he explicado bien. Lo de
radio_tecnologia_id’+session[:contTecno].to_s lo uso porque al generar
recursivamente select, les voy dando, tanto a los div nuevos, como a los
select nuevo y como a los radio nuevos, id basadas en un nombre fijo
(‘radio_tecnologia_id’) y un contador (+session[:contTecno].to_s
Lo que yo quiero es pasarle en un observe del radio (el que se encarga
de generar nuevos select), el campo categoria_id, para asà elegir en
aniadir_tecnologia, si quiero añadir un select con todas las tecnologias
(caso de que el campo categoria_id este vacio) o filtrar las tecnologias
con el campo categoria_id (caso que no lo esté).
Pero creo que según lo que me has dicho, lo que yo le pase del :with
será el valor del campo al que vigila el observe. De todas formas a
alguien se le ocurre como podrÃa hacerlo?.
Se me ocurre quizás (ya que he visto usar :function en vez de :url, en
los observe_field) añadir un observe_field que vigile al select
categoria, y que guarde en la session (mediante :function) el valor del
campo. Luego cuando añadiese más campos, simplemente accederÃa al valor
en session y ya actuarÃa en consecuencia.
Pero claro, demasiado bonito para ser verdad jeje, porque ya usé alguna
vez el function y no consigue hacerlo funcionar. Voy a ver si tengo
suerte.
Un saludo.