dav*_*hab 1 ruby-on-rails ruby-on-rails-3.1
假设我有类似的东西
Country has_many :cities
Run Code Online (Sandbox Code Playgroud)
并且模型City具有属性council_id.只有一个实例Country,检索包含所有相关的集合的最佳方法是什么Councils?
我知道这可以很容易地将Country实例传递给某个方法并迭代council_ids但我想知道是否有更优雅的方式?
谢谢
如果城市有
belongs_to :country
belongs_to :council
Run Code Online (Sandbox Code Playgroud)
那么国家可以拥有
has_many :cities
has_many :councils, :through => :cities
Run Code Online (Sandbox Code Playgroud)
然后你就可以做到some_country.councils.在幕后,这构造了一个连接查询来加载相关的委员会.如果一个城市有许多议会,这仍然有用 - has_many :through可以解决这个问题