Создание named_scope для "no children" в ассоциации has_many - PullRequest
1 голос
/ 09 сентября 2010

Я хотел бы иметь named_scope для блогов с нулевыми записями.

Следующее не работает.

class Post < ActiveRecord::Base
  belongs_to :blog
end

class Blog < ActiveRecord::Base
  has_many :posts

  named_scope :has_no_posts, :conditions => "blogs.id NOT IN (SELECT blog_id FROM posts)"
end

Ответы [ 2 ]

0 голосов
/ 09 сентября 2010

Не уверен, почему ваш код не работает. Это ошибка или нет вернуть то, что вы ожидаете? Вы можете опубликовать sql, который он генерирует?

Однако вы можете попробовать:

named_scope :has_no_posts, :include => [:posts], :conditions => "posts.id IS NULL"
0 голосов
/ 09 сентября 2010

Вы уверены, что это не работает?У меня это работает.

...