Hola, yo nuevamente haciendo preguntas, es que estoy bastante complicado
con
el tema de los layouts y la internacionalizacion de mi sitio, mi
problema es
que por un requermiento de diseño debo cambiar el layout de acuerdo a la
version params[:lang].
dado esto , estoy intentando hacer un before filter para activar el
layout
correpondiente de acuerdo a parametro get que le llegue, el codigo es
algo
asi
class ApplicationController < ActionController::Base
…
before_filter :set_default_locale
def set_default_locale
if (params[:lang].nil? or params[:lang].empty?)
@layout = 'sitio_es'
else
@layout = 'sitio_en'
end
…
end
luego en mi controller hacer algo asi:
class AlgoController < ApplicationController
…
layout @layout
…
pero no me funciona, es decir la variable @layout no me agarra el valor
del
before filter, tambien he probado de otras maneras, por ejemplo si desde
mi
controller defino la variable layout asi:
class AlgoController < ApplicationController
…
@layout = ‘sitio_es’
layout = @layout
def …
…
ahi me funciona pero no me sirve del todo, pero si por ejemplo a la
variable
layout le digo que : @layout = “sitio_es_#{params[:lang]}”, me arroja un
error que desconoce la variable params, el asunto es que necesito que
layout
= @layout tome el valor que se crea en el before filter, pero no me
resulta,
¿es que layout no toma valores del before filter?
ayuda plis
Saludos