Question

J'utilise 3 rails et je ne peux pas sembler vérifier si une instance donnée est dans un champ, voir ici:

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      |
+----+----------+-------------------------+-------------------------+-------------------------+-----------+

J'ai un champ d'menu qui ressemble à:

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

Quand je cours, je reçois:

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      |
+----+------------------+------------------+------------------+-------------------+-----------+

Ce qui est correct, mais si je tente de vérifier si p est dans le périmètre de l'aide menu: Post.menu.exists?(p) je reçois true quand il devrait être false

Quelle est la bonne façon de savoir si une instance donnée de quelque chose est dans un champ?

Était-ce utile?

La solution

En fait, j'ai pu le résoudre en utilisant cette méthode Array de include? au lieu de exists?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top