Dejar una variable accesible para todo el controlador

Hola como estan,
estoy haciendo una vista estatica, la cual necesito darle algunos
estilos
css cuando esté seleccionada la pagina, como un estado .selected para un
menu. y que este selected sea dinamico , dependiendo de la pagina donde
se
encuentre

por ejemplo, en mi vista:
<a href="#" id=“btn1<% if @selecionado==1 %>_selected<%end%>” <% if
@selecionado==1 %>class=“selected”<%end%>
onmouseover=“javascript:show(‘sub_quienes’,‘btn1<% if @selecionado==1
%>_selected<%end%>’);” >quiene

la varialbe @selecionado esta en mi controller asi

class QuienesSomosController < ApplicationController
layout ‘sitio_es’

def index
@titulo = “Misíon y Visión”
@selecionado = 1
render :action=>‘inicio’
end
def inicio
@selecionado = 1
end

y asi…

end

hay alguna forma de poner solo una variable selected accesible para todo
el
controller??? en ves de repetirla para cada accion?

mi otra pregnra es si se pueden poner condiciones dentro de un link_to,
por
ejemplo:

<%=link_to(‘Misión y
vision’,{:action=>‘mision_y_vision’,:controller=>‘quienes_somos’},{:onmouseover=>“javascript:show(‘sub_quienes’,‘btn1’);”
})%>

por ejemplo que en la parte de onmouseover halla un a condicion que si
@selecionado es == 1 entonces
javascript:show(‘sub_quienes’,’*btn1_selected’
*)
si no (else) javascript:show(‘sub_quienes’,‘btn1’)

Saludos Cordiales

Yo normalmente hago un “set_workspace” (es una convencion)

before_filter :set_workspace

def set_workspace
@seleccionado = 1
end

Francesc

On Nov 16, 2007, at 6:08 PM, Miguel M. wrote:

onmouseover="javascript:show(‘sub_quienes’,'btn1<% if
end

javascript:show(‘sub_quienes’,‘btn1_selected’)
Ror-es mailing list
removed_email_address@domain.invalid
http://lists.simplelogica.net/mailman/listinfo/ror-es


name. Francesc E. i Martí
voice. +34 678.681.603

Muchas gracias Francesc, si que funciona :slight_smile:

Saludos Cordiales

On Nov 16, 2007 2:24 PM, Francesc E. removed_email_address@domain.invalid

Faltaria más, es lo que normalment utilizo :wink:

Francesc

On Nov 16, 2007, at 7:20 PM, Miguel M. wrote:

@selecionado==1 %>_selected<%end%>');" >quiene
def inicio

si no (else) javascript:show(‘sub_quienes’,’ btn1’)
removed_email_address@domain.invalid


Atte.
Miguel Michelson Martinez

www.artenlinea.cl _______________________________________________
Ror-es mailing list
removed_email_address@domain.invalid
http://lists.simplelogica.net/mailman/listinfo/ror-es


name. Francesc E. i Martí
voice. +34 678.681.603

Yo el “set_workspace” lo pongo normalmente en ApplicationController
para que esté accesible desde cualquier controlador. Esto funciona
desde versiones “ancestrales” de Rails, así que deberia funcionar.
Puedes mandar el log de error en el server?

Un saludo,

Francesc

On Nov 16, 2007, at 11:21 PM, Miguel M. wrote:

en cada controlador tengo definido mi filtro de esta forma

About your application’s environment
Environment development
Action Mailer version 1.3.3
Saludos Cordiales

Muchas gracias Francesc, si que funciona :slight_smile:
def set_workspace

Hola como estan,
@selecionado==1 %>_selected<%end%>');" >quiene
def inicio

si @selecionado es == 1 entonces
www.artenlinea.cl _______________________________________________
http://lists.simplelogica.net/mailman/listinfo/ror-es
http://lists.simplelogica.net/mailman/listinfo/ror-es


Atte.
Miguel Michelson Martinez

www.artenlinea.cl _______________________________________________
Ror-es mailing list
removed_email_address@domain.invalid
http://lists.simplelogica.net/mailman/listinfo/ror-es


name. Francesc E. i Martí
voice. +34 678.681.603

oops!
subi la aplicacion a mi servidor y la variables de instancia del
before_filter no funcionan! no puedo acceder al valor de estas , en mis
vistas
que extraño, pensé que era un problema de versiones , asi que congele la
version 1.2.3 que es la que tengo en local , pero sigue sin funcionar.
no se que puedo estar haciendo mal. ya que en local me funciona a la
perfecion.

en cada controlador tengo definido mi filtro de esta forma

class QuienesSomosController < ApplicationController

before_filter :set_workspace

def set_workspace
@selecionado = 1
@btn1 = ‘_selected’
end


…end

class ProductosController < ApplicationController

before_filter :set_workspace

def set_workspace
@selecionado = 2
@btn2 = ‘_selected’
end


…end

eso esta bien?

esta la informacion de mis dos aplicaciones
REMOTA:
About your application’s environment
Ruby version 1.8.6 (x86_64-linux)
RubyGems version 0.9.4
Rails version 1.2.3
Active Record version 1.15.3
Action Pack version 1.13.3
Action Web Service version 1.2.5
Action Mailer version 1.3.3
Active Support version 1.4.2
Edge Rails revision rel_1-2-3
Application root /home/animalita/inesa
Environment development
Database adapter mysql

LOCAL:
Ruby version 1.8.6 (i686-darwin8.9.1)
RubyGems version 0.9.2
Rails version 1.2.3
Active Record version 1.15.3
Action Pack version 1.13.3
Action Web Service version 1.2.3
Action Mailer version 1.3.3
Active Support version 1.4.2
Application root
/Users/michelson/Documents/ruby_on_rails/inesa
Environment development
Database adapter mysql

que podria estar haciendo mal??

Saludos Cordiales

On Nov 16, 2007 3:26 PM, Francesc E. removed_email_address@domain.invalid

hola Francesc, gracias por tu ayuda.

finalmente subi todo de nuevo al server, y funciono :stuck_out_tongue:

Saludos Cordiales

On Nov 17, 2007 6:25 AM, Francesc E. removed_email_address@domain.invalid