Carriles, si la instancia está en un ámbito?
-
22-09-2019 - |
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?
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