我试图理解一些Rails关系的内部,以便在查询中有效地使用它们。因此,我打开了一个控制台,并做了一些测试:什么是ActiveRecord Rails关系?
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)]
现在,我不会指望输出。我期望像关系或类似的东西。但它好像遍历每个属性并为每个属性生成类型。
什么是Ruby的一个方面的关系真的吗?它是一个完全自定义的结构吗?如果是这样,哈希和数组之间是否有相似之处,还是应该将它看作是完全自定义的结构?
编辑:
一些测试后,现在看来似乎只是包含类的对象。它是如何运作的?
http://railscasts.com/episodes/239-activerecord-relation-walkthrough – Thilo 2011-04-30 21:08:05
这是一个普通班,其中to_s已被重写要显示的属性。 – michaeltomer 2011-04-30 21:09:09
我已经注意到了,确实很不错,但它主要是描述关系而不会提供有关对象发生的事情的太多信息。 – Spyros 2011-04-30 21:09:16