我在文件夹和文档表之间有一对多的关系。我想查看文件夹是否包含以下文档:
q = Doc.new(blabla)
folder.docs.inludes?(q)
答案 0 :(得分:1)
我想你应该试试
folder.docs.exists?(Q)
答案 1 :(得分:0)
如果您正在创建这样的新Doc,无论Doc的内容如何,它都将永远不会与数据库中的任何其他Doc相同(只要包括?),因为Doc将具有不同的ID / object instance hashes。
如果您希望能够比较基于内容的Doc而不是实际记录(由id引用),那么您可以使用eql吗? (==) - 见这里:http://ruby-doc.org/core-1.9.3/Object.html#method-i-eql-3F。我不建议这样做。
我会在理想情况下重新考虑你的解决方案。您要检查什么,以查看文件夹是否包含特定名称的文档?
folder.docs.find_by_name('blabla')
如果你得到一个非零的结果,你在文件夹中有一个名为'blabla'的文档,如果它没有你没有。