как я нахожу, используя условие в рубине - PullRequest
0 голосов
/ 05 октября 2010

У меня есть

 @project.posts.count
=> 11
@project.articles.count
=> 5
>> a = @project.articles.map(&:signup_id)
=> [6, 8, 10, 12, 14]

Я хочу отображать только сообщения проекта, которые не имеют идентификатора следующего [6, 8, 10, 12, 14]. Поэтому я хочу отображать сообщения, которые не имеют article.signup_id

   @project.posts #so reject if id is  [6, 8, 10, 12, 14]

между ними есть отношения, и я бы хотел это сделать

 @project.posts.find( :all, :include => [:articles], :conditions => 'articles.signup_id is null'

но это не фильтрация, как я предполагал

1 Ответ

2 голосов
/ 05 октября 2010

Создайте область действия для модели Post.

class Post < ActiveRecord::Base

    named_scope :no_signup, :include => :article, :conditions => "articles.signup_id is null or articles.signup_id = ''"

end

Я добавил этот дополнительный пустой чек, потому что вы сказали, что ваша находка не работает должным образом.Убедитесь, что эти строки не пустые или не имеют значения по умолчанию (например, ноль).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...