的Rails 3.0.3和Ruby 1.9.2创建基于HAS_ONE在Rails 3的一个范围:通过关系
我有下面的类
class item < ActiveRecord::Base
belongs_to :user
has_one :country, :through => :user
..
end
所以itemA.country产生 “美”
的问题是如何做我创建了美国用户
拥有的所有项目(命名)范围当我尝试类似:
scope :american, where('countries.name' => 'United States').includes([:user, :country])
然后Item.american不断回来空,即使Item.first.country => '美国'
顺便说一下,在Rails的2.3.4版本中,我们有:
named_scope :american, :include => {:user, :country}, :conditions => { 'countries.printable_name' => 'United States' }
而且像广告一样工作。
略无关,但你应该升级到Rails的3.0。 4,因为这是一个安全发布。 – 2011-02-17 23:37:50