的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