Rails, если экземпляр находится в области видимости? - PullRequest
0 голосов
/ 29 марта 2010

Я использую рельсы 3, и я не могу проверить, находится ли данный экземпляр в области видимости, см. Здесь:

p = Post.find 6
+----+----------+-------------------------+-------------------------+-------------------------+-----------+
| id | title    | publish_date            | created_at              | updated_at              | published |
+----+----------+-------------------------+-------------------------+-------------------------+-----------+
| 6  | asfdfdsa | 2010-03-28 22:33:00 UTC | 2010-03-28 22:33:46 UTC | 2010-03-28 22:33:46 UTC | true      |
+----+----------+-------------------------+-------------------------+-------------------------+-----------+

У меня есть menu область, которая выглядит как:

scope :menu, where("published != ?", false).limit(4)

Когда я запускаю его, я получаю:

Post.menu.all
+----+------------------+------------------+------------------+-------------------+-----------+
| id | title            | publish_date     | created_at       | updated_at        | published |
+----+------------------+------------------+------------------+-------------------+-----------+
| 1  | Lorem ipsum      | 2010-03-23 07... | 2010-03-23 07... | 2010-03-28 21:... | true      |
| 2  | fdasf            | 2010-03-28 21... | 2010-03-28 21... | 2010-03-28 21:... | true      |
| 3  |  Ruby’s Imple... | 2010-03-28 21... | 2010-03-28 21... | 2010-03-28 21:... | true      |
| 4  | dsaD             | 2010-03-28 22... | 2010-03-28 22... | 2010-03-28 22:... | true      |
+----+------------------+------------------+------------------+-------------------+-----------+

Это правильно, но если я попытаюсь проверить, входит ли p в область действия menu, используя: Post.menu.exists?(p) Я получу true, когда должно быть false

Как правильно узнать, находится ли данный экземпляр чего-либо в области видимости?

1 Ответ

0 голосов
/ 29 марта 2010

На самом деле, я смог решить эту проблему, используя метод Array include? вместо exists?

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