我有一个模型说用户,可以住在多个城镇(表示为另一个模型)。如果我创建一个新用户,我必须选择(并编辑)他们所居住的不同城镇。由于时间限制,我经常最终得到一个“比我想要的更糟糕”的解决方案,例如:http://blog.hasmanythrough.com/2006/4/20/many-to-many-dance-off
任何受SO欢迎的好解决方案?
...欢呼声
Slothishtype
答案 0 :(得分:0)
has_and_belongs_to_many关联是针对这种情况而建立的。以下是相关文档:http://apidock.com/rails/ActiveRecord/Associations/ClassMethods/has_and_belongs_to_many
否则,如果您需要存储关联本身的信息(城市表或用户表中不存在的字段,但介于两者之间),您可能只想设置两个并行的'has_many_through'关联,并设置一个单独的'user_city'表。所以它将在用户表中
has_many :user_cities
has_many :cities, :through => :user_cities
并在城市表中
has_many :user_cities
has_many :users, :through => :user_cities
然后,您只需致电:user.cities,并获取用户所在城市的列表。