gpt4 book ai didi

ruby-on-rails - ActiveRecord Rails 关系到底是什么?

转载 作者:数据小太阳 更新时间:2023-10-29 07:47:08 26 4
gpt4 key购买 nike

我试图了解 Rails Relations 的一些内部结构,以便在查询中有效地使用它们。因此,我打开了一个控制台并做了一些测试:

ruby-1.9.2-p180 :036 > Skill.where(:second_class => 'Wealth Ranger').map {|att| att.class}
=> [Skill(id: integer, name: string, description: string, second_class: string, third_class: string, created_at: datetime, updated_at: datetime)]

现在,我不希望有这样的输出。我希望有类似 Relation 或类似的东西。但它似乎遍历了每个属性并为每个属性生成了类型。

Ruby 术语中的关系到底是什么?它是一个完全定制的结构吗?如果是这样,哈希和数组之间是否有相似之处,还是应该将其视为完全自定义的结构?

编辑:

经过更多测试,它似乎只包含该类的对象。它是这样运作的吗?

最佳答案

ActiveRecord 的 Relation class在 Rails 3 中实际上只是 Arel 之上的一层.它处理“延迟加载”收集参数和 Rails 的简化查询方法(与直接 Arel 相比)。

我所见过的关于它内部运作的最好描述是在 Ernie Miller's blog 上.他写了meta_searchmeta_where所以他知道他在说什么。

关于ruby-on-rails - ActiveRecord Rails 关系到底是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5844598/

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