2008/7/7 Eduardo Trápani <[EMAIL PROTECTED]>: > Lo que pasa es que las condiciones del where te recortan todo, son el último > filtro antes de llegar a rails. > Entonces, si la condición nunca es cierta no viene nada. Pero si es siempre > verdadera vas a matar a rails, porque va a tener que procesar un resultset > enorme.
Si la sb recibe algo como SELECT users.*, addresses.* FROM users LEFT OUTER JOIN addresses ON addresses.user_id = users.id and addresses.is_active = 1 WHERE NOT addresses.address_id = null No debería ser mucho peor que lo que vos propones. En otras palabras, que pasa si mandás algo así: User.find :all, :include => :addresses, :conditions => ["addresses.is_active = 1 and (not null(addresse.address_id))"] No se si es la sintaxis correcta pero esa es la idea. > has_many :active_addresses, :class_name => :address, :conditions => > ['addresses.is_active = ?',@address_status] El problema con ese enfoque es cuando se evalúa la variable, si funciona igual que con named_scope, tendrías que usar un lambda para que se evalúe cada vez que ejecutás el método correspondiente, pero en ese caso por ahí es más simple definir un método, y usar un parámetro. Saludos. Lucas. _______________________________________________ Ruby mailing list [email protected] http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
