Я не проверял это, но думаю, что-то подобное сделало бы это в одном запросе.
class Car < ActiveRecord::Base
has_many :pictures, :as => :imageable, :dependent => :destroy
named_scope :with_child_picture, lambda { {
:joins => :pictures,
:group => "pictures.imageable_id",
:conditions => ["pictures.imageable_id != ?", nil]
} }
end
И вы можете использовать его как
Car.with_child_picture
Iне мог проверить это сам ... но я надеюсь, что по крайней мере это даст вам представление.