Pregunta

Estoy usando los carriles 3 y me parece que no puede comprobar si un caso dado se encuentra en un ámbito, ver aquí:

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

Tengo un alcance menu que se parece a:

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

Cuando lo ejecuto me sale:

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

¿Cuál es la correcta, pero si trato de comprobar si es p en el ámbito menu usando: Post.menu.exists?(p) Puedo obtener true cuando debería ser false

¿Cuál es la forma correcta para averiguar si un caso dado de que algo está en un ámbito?

¿Fue útil?

Solución

En realidad, yo era capaz de resolverlo utilizando ese método de matriz de include? en lugar de exists?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top