【发布时间】:2013-04-13 12:05:18
【问题描述】:
在 Ruby on Rails 中,我想在城市中寻找雇主。 假设模型是这样设置的:
City
has_many :suburbs
has_many :households, :through => suburbs
has_many :people, :through => suburbs
Suburb
has_many :households
has_many people, :through => households
belongs_to :city
Household
has_many :people
belongs_to :suburb
People
belongs_to :household
belongs_to :employer
Employer
has_many :people
我觉得我想要某种雇主加入 some_city.people,但我不知道该怎么做。如果人们直接属于城市,我可以将 Employer 加入到 city_id 的人,但我想在没有直接加入的情况下找到相同的数据,我有点迷茫。
谢谢。
【问题讨论】:
-
您是否尝试在 Rails 中执行此操作?为什么不直接使用他们的辅助方法?
-
很抱歉,您会为此推荐哪种辅助方法?
-
你为什么不通过
has_many :through从Employer遍历关系,就像你从City做的那样? -
Nvm,不知道最好的方法是什么,sry
-
一个雇主可以是多个城市,所以它不一定只属于一个城市。我可以创建一个连接表,但这似乎需要做很多事情。我可以给人们一个 city_id,但这似乎不是标准化的方法,因为该信息应该可以通过当前记录获得。
标签: sql ruby-on-rails ruby-on-rails-3 join ruby-on-rails-3.2