代码之家  ›  专栏  ›  技术社区  ›  jefflunt

是给定集合中的对象吗?

  •  2
  • jefflunt  · 技术社区  · 16 年前

    假设我有一个博客应用程序。每个帖子上都有评论。

    假设我有一个叫做“this_comment”的对象

    Ruby中是否有一个神奇的关键字或构造,我可以测试“Post.comments”中的“this_comment”吗?

    换句话说,我想知道“this_comment”是否是“Post.comments”集合的成员。我可以做一个“查找”并得到我的答案,但是Ruby似乎可以通过一个很酷的关键字“if this_comment.in(Post.comments)”来简化这类事情

    谢谢

    2 回复  |  直到 16 年前
        1
  •  6
  •   Alex Wayne    16 年前

    作为一个数组,您可以

    [:a, :b, :c].include?(:a)
    

    但是,如果您处理的是模型,ActiveRecord会做一些很酷的事情来保持您的查询正常。假设注释是某种命名范围或关联,则可以执行以下操作:

    Post.comments.exists?(this_comment.id)
    

    命名作用域和关联可以调用几乎所有的Activerecord类方法

        2
  •  1
  •   bta    16 年前

    您如何定义“帖子”和“评论”之间的关系?这篇文章有很多评论吗?

    如果是,试试看 .exists?() .

    推荐文章