質問

私が使用しているが、3レールと私は特定のインスタンスがスコープ内にあるかどうかを確認することができないよう、ここに参照してください。

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

私は次のようになりますmenuスコープを持っています:

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

私はそれを実行すると、私が手に:

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      |
+----+------------------+------------------+------------------+-------------------+-----------+
正しいのですが、

私はpmenuスコープ使用しているかどうかを確認しようとした場合:それはPost.menu.exists?(p)

であるべきときtrueを得るI false 何かの特定のインスタンスがスコープ内にあるかどうかを確認する適切な方法は何ですか?

役に立ちましたか?

解決

は実際には、私の代わりにinclude?exists?のアレイ法を用いて、それを解決することができた。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top