Rails, se l'istanza è in un ambito?
-
22-09-2019 - |
Domanda
Sto usando le rotaie 3 e io non riesco a controllare se una determinata istanza è in un ambito, vedo qui:
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 |
+----+----------+-------------------------+-------------------------+-------------------------+-----------+
Ho un ambito menu
che assomiglia a:
scope :menu, where("published != ?", false).limit(4)
Quando l'eseguo ottengo:
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 |
+----+------------------+------------------+------------------+-------------------+-----------+
che è corretto, ma se provo a controllare se p
è nel campo di applicazione della menu
utilizzando: Post.menu.exists?(p)
ho true
quando dovrebbe essere false
Qual è il modo corretto per scoprire se una determinata istanza di qualcosa è in un ambito?
Soluzione
In realtà, ho potuto risolverlo con tale metodo Array of include?
anziché exists?
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow