2009/9/30 Nicolás Sanguinetti <[email protected]>:
> around_filter :logger_with_user
>
> def logger_with_user
>  old_logger = Rails.logger
>  Rails.logger = LoggerWithUser.new(current_user)
>  yield
>  Rails.logger = old_logger
> end
>
> o algo asi, y LoggerWithUser < Logger, y ta.

Perdón, no era el logger de Rails (era para una funcionalidad un tanto
específica). Igual entiendo el approach, y no le veo ninguna ventaja
(es más, no es thread-safe pero TÁ, no uso jruby).

De hecho, es *exactamente* lo mismo que se hace para setear el
current_user en Thread (en realidad, a través de User, claro está).
Entonces, en lugar de ponerlo en User (es claro que es su
repsonsabilidad), le estás agregando, a cualquier cliente de User, la
responsabilidad de mantener el user actual... no compro, no compro.

> No se, esto es off the top of my head, capaz que hay alguna solucion
> más prolija. Pero de nuevo, no necesitás acceder a la sesión desde el
> modelo.

User.current no accede a la session. De hecho, si no es con un filter
en controller (en cuyo caso la session la accede el controller -- no
el model)... ¿cómo la accedés?

> Ahora me vas a querer justificar que desde el modelo querés acceder a
> los cookies, o peor, setear flash messages! y ahí nos agarramos a las
> piñas, eh! :P

Cruzo el charco y empezá a correr, ¡lo tuyo es horrible!

PD: ¿tras que somos pocos ahora nos cagamos a piñas? mamadera...

-- nachokb
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a