class Badge
has_many :awards
end
class Award
belongs_to :badge
belongs_to :user
end
class User
has_many :awards
has_many :badges, :through => :awards
named_scope :with_badge,
lambda { |badge_type|
:include => :badges,
:conditions => ["badges.badge_type = ?", badge_type]
}
end
тогда вы можете попробовать:
User.with_badge("HeroBadge")
Похоже, это должно работать для меня, но я не проверял это. Надеюсь, это что-то для вас искрится.