我正在尝试找到一种连接两个活动记录对象的方法,不是完全合并,而是以某种方式将它们关联起来。
例如,如果我有两个模型,城市和餐厅,每个城市可以有很多餐馆。在此示例中,如果有两个城市记录,"那不勒斯"和"那不勒斯"代表同一个城市,我想将它们连接到数据库中,因此无论用户点击"那不勒斯"还是"那不勒斯"中的餐馆,他们都会被带到同一页面。
如果我解释得不好,我深表歉意,如果不使用一个例子,我就无法完全表达我所追求的东西。
我正在使用 Rails 3.2、ruby 1.9.2 和 postgres
谢谢。
class City < ActiveRecord::Base
has_many :city_name, :dependent => :destroy
end
class CityName < ActiveRecord::Base
belongs_to :city
end
当您在控制器中搜索城市时,您可以检查所有名称,如果有任何匹配,则呈现同一家餐厅。
您可以添加一个查找字段,这两个实际上相同的城市具有共同点(一种临时解决方案,但我认为它有效)。
因此,那不勒斯和那不勒斯的"城市ID"可能是46,而"孟买"和"孟买"的城市ID可能是32。