gpt4 book ai didi

ruby-on-rails-4 - Rails 4 中的引用功能

转载 作者:行者123 更新时间:2023-12-02 09:37:09 25 4
gpt4 key购买 nike

我只是不明白 Rails 4 中新的引用()函数我在这里阅读定义:http://apidock.com/rails/ActiveRecord/QueryMethods/references

这只是一个英语问题,但我仍然不清楚。这个新功能的目标是什么? (之前没有它代码也运行良好)。

我必须始终为includes() 的每个表添加引用吗?

谢谢

最佳答案

当使用includes时,Rails通常会单独加载结果。例如,如果您这样做

Post.includes(:comments)

它将发出一个查询来加载帖子,然后发出另一个查询来加载带有帖子的 post_id 的评论。

它将生成一个连接,例如,如果您想要这样做

Post.includes(:comments).where(comments: { user_id: 44})

其中一个条件依赖于相关表。但是,如果您要使用

Post.includes(:comments).where('comments.user_id = ?', 44)

您将在 Rails 4 中收到错误。任何时候您使用 SQL 代码段在条件中引用关系时,都必须使用引用。为了解决上述问题,我们会这样做

Post.includes(:comments).where('comments.user_id = ?', 44).references(:comments)

当然,另一个选择是不在条件中使用 SQL 片段,如第二个代码示例,但并不总是可以避免它们。

关于ruby-on-rails-4 - Rails 4 中的引用功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24432778/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com