为什么阿雷尔查询返回的ActiveRecord ::关系类而不是父类?

我有一个类:

class Technician < ActiveRecord::Base scope :named, lambda {|name| where(["first_name LIKE ?", "%#{name}%"])} end

在Rails控制台,当我做下面的查询:

technician = Technician.named("john") technician.class => ActiveRecord::Relation and not Technician

这很重要,因为我得到一个没有方法的错误,当我尝试访问类的属性:

technician.id => no method error

我究竟做错了什么?

--------------解决方案-------------

阿雷尔返回ActiveRecord::Relation ,以便它可以推迟执行到最后一刻,并提供更好的可组合性。

Technician.named("john").first ,而不是Technician.named("john")以获得technician

分类:ActiveRecord的 时间:2015-03-15 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.975 (s). 10 q(s)