默认在Rails has_many关系上使用范围
假设我有以下课程 class SolarSystem < ActiveRecord::Base has_many :planets end class Planet < ActiveRecord::Base scope :life_supporting, where('distance_from_sun > ?', 5).order('diameter ASC') end Planet有一个范围life_supporting和SolarSystem has_many :planets。我想定义我的has_many关系,以便当我要求solar_system所有关联时planets,将life_supporting自动应用范围。本质上,我想solar_system.planets == solar_system.planets.life_supporting。 要求 我不希望改变scope :life_supporting在Planet以 default_scope where('distance_from_sun > ?', 5).order('diameter ASC') 我还想避免重复,因为不必添加到 SolarSystem has_many :planets, :conditions => ['distance_from_sun > ?', 5], :order => 'diameter ASC' 目标 我想吃点类似的东西 …