1

私はクラスを持っています:

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  

私は何が間違っているのですか?

4

1 に答える 1

4

ActiveRecord::Relationアレルは、実行を最後の瞬間まで延期し、より良い構成可能性を提供できるように戻ります。

Technician.named("john").firstTechnician.named("john")を取得する代わりにtechnician

于 2010-11-20T18:28:20.677 に答える