ActiveRecord :: Проблема отношений - PullRequest
1 голос
/ 09 сентября 2011

Я использую Ruby on Rails 3.0.10 и Я хотел бы "вычесть" две ActiveRecord::Relation "сущности" и вернуть обратно ActiveRecord::Relation.То есть у меня есть два ActiveRecord::Relation объекта (@articles и @articles_checked) и следующий код:

@unchecked_articles = @articles - @articles_checked

# $  @unchecked_articles.class
# => Array

@unchecked_articles.method_call
# raise a NoMethodError error (read above for more information).

Приведенный выше код в любом случае возвращает Ruby Array, поэтому я не могу "играть "(используйте where, order, ... заявления) больше с этим, как я обычно делаю с ActiveRecord::Relation.В консоли генерируется следующая ошибка:

NoMethodError (undefined method 'method_call' for #<Array:0x000001063dd658>)

Как я могу получить объект ActiveRecord::Relation после внесения вышеуказанных изменений? Или, что лучше, есть способ выполнить то, чтоЯ стремлюсь получить с @unchecked_articles?

Ответы [ 2 ]

2 голосов
/ 09 сентября 2011

Использование scope.

scope :unchecked, where("checked is FALSE")

Я сделал там предположение, что вы помечаете проверенные статьи следующим образом. После определения области вы можете позвонить Article.unchecked, чтобы получить AR незарегистрированных статей.

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

Я не знаю, как выглядит ваша модель, но я бы посоветовал определить область для статей.

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