Buenas, estoy usando ajax scaffold para mis tablas y tengo un problema.
Para que se vean bien las tildes y eso, en application.rb tengo:
…
before_filter :configure_charsets
def configure_charsets @headers[“Content-Type”] = “text/html; charset=iso-8859-1”
suppress(ActiveRecord::StatementInvalid) do
ActiveRecord::Base.connection.execute ‘SET NAMES latin1’
end
end
…
Y el código que genera ajax scaffold en users_controller.rb es:
…
before_filter :update_params_filter
El caso es que cuando pincho en crear nuevo, si no pongo el
before_filter
:configure_charsets, se abre una capa con el formulario de nuevo
usuario,
pero al ponerlo, no se abre y no hay ningún error ni en el log ni en
ningún
sitio.
Entonces está claro que el error es por el before_filter
:configure_charsets.
¿Puede ser porque el controlador haga 2 before filter?
Ya lo hago. El problema es que lo que coje de la base de datos, lo coje
mal
si no pongo el before_filter :configure_charsets.
Viendo un poco más, creo que es problema del rjs. Porque sólo pasa si
tiene
que “renderizar” un rjs.
Hola
El problema es que lo que haces, solo lo debes hacer en el caso de que
la petición sea html, yo cuando es via ajax la cabecera deberÃa ser
“text/javascript”
Debes usar after filter :
after_filter :set_charset
def set_charset
content_type = @headers[“Content-Type”] || “text/html”
if /^text//.match(content_type) @headers[“Content-Type”] = “text/html; charset=iso-8859-1”
end
end
Te mando unos links donde se explica exto un poco mejor.