Rails, se a instância está em um escopo?
-
22-09-2019 - |
Pergunta
Estou usando o Rails 3 e não consigo verificar se uma determinada instância está em um escopo, veja aqui:
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 |
+----+----------+-------------------------+-------------------------+-------------------------+-----------+
eu tenho um menu
escopo que se parece:
scope :menu, where("published != ?", false).limit(4)
Quando eu corro, eu entendo:
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 |
+----+------------------+------------------+------------------+-------------------+-----------+
O que está correto, mas se eu tentar verificar se p
está no menu
escopo usando: Post.menu.exists?(p)
eu recebo true
Quando deveria ser false
Qual é a maneira correta de descobrir se uma determinada instância de algo está em um escopo?
Solução
Na verdade, pude resolvê -lo usando esse método de matriz de include?
ao invés de exists?
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow