jef*_*unt 2 ruby ruby-on-rails
假设我有一个博客应用程序.在每个帖子上都有评论.
所以,我在"Post.comments"中收集了一些评论
假设我有一个名为"this_comment"的对象
在Ruby中是否有一个神奇的关键字或构造,我可以在'Post.comments'中测试"是'this_comment'吗?
换句话说,我想知道"this_comment"是否是"Post.comments"集合的成员.我可以做一个'发现'并得到我的答案,但看起来Ruby可以通过一个很酷的关键字,如"if this_comment.in(Post.comments)"轻松实现
我想如果没有,我可以为"评论"(或"is_in"方法,我认为''是保留关键字)编写我自己的"in"方法.
谢谢!
作为阵列,你可以做到
[:a, :b, :c].include?(:a)
Run Code Online (Sandbox Code Playgroud)
但是,如果你正在处理模型,ActiveRecord会做一些很酷的事情来保证你的查询正确.假设comments是命名范围或某种关联,您可以这样做:
Post.comments.exists?(this_comment.id)
Run Code Online (Sandbox Code Playgroud)
命名范围和关联可以拥有几乎所有调用它的Activerecord类方法