2009/9/29 dwayne <[email protected]>:
> Hola, una pregunta sobre MVC.
>
> Necesito limitar las búsquedas en los modelos al current_user.
>
> En los controlers y views es facil. Hago current_user.products.find blah y
> sale como loco.
> Pero no se cuál es la mejor estrategia para lograr esto en el modelo.
>
> 1. Vi una opción de guardar el current en Thread. y Levantarlo con un nuevo
> method User.current
> 2. Lei por ahi otro que hace una global $current_user
> 3. Y otros que lo pasan por parametros.
>
> ¿Cuál sería la opción más "correcta"?
>
La 1 es la 2 con un sheep coat. Es básicamente una variable global,
escondida en un método. Es un poco más prolija porque es thread safe,
pero no deja de ser una variable global.
Personalmente prefiero pasar por parámetro. Podés hacer un named_scope
:for, lambda {|u| { :joins => :users, :conditions => { "users.id" =>
u.id } } por ejemplo, y despues sería Post.recent.for(current_user),
por ejemplo. O algo del estilo
Saludos,
-f
> _______________________________________________
> Ruby mailing list
> [email protected]
> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
>
>
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar