【问题标题】:Linking/Connecting two db rows in Rails在 Rails 中链接/连接两个数据库行
【发布时间】:2013-01-28 18:03:47
【问题描述】:

我正在尝试找到一种连接两个活动记录对象的方法,而不是完全合并,而是以某种方式将它们关联起来。

例如,如果我有两个模型,City 和 Restaurant,则每个城市可以有许多餐馆。在这个例子中,如果有两个城市记录,“那不勒斯”和“那不勒斯”代表同一个城市,我想在数据库中连接它们,所以无论用户是点击“那不勒斯”还是“那不勒斯”的餐馆,他们将被带到同一页面。

如果我解释得不好,我深表歉意,如果不使用示例,我无法完全阐明我的目标。

我正在使用 Rails 3.2、ruby 1.9.2 和 postgres

谢谢。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 rails-activerecord


    【解决方案1】:
    class City < ActiveRecord::Base
      has_many :city_name, :dependent => :destroy
    end
    
    class CityName < ActiveRecord::Base
      belongs_to :city
    end
    

    当您在控制器中搜索城市时,您可以检查所有名称,如果有匹配项,则呈现同一家餐厅。

    【讨论】:

    • 我正要推荐这个,但你打败了我。好主意!
    【解决方案2】:

    您可以添加两个实际上相同的城市共有的查找字段(一种临时解决方案,但我认为它有效)。

    因此,那不勒斯和那不勒斯的“城市 ID”可能为 46,而“孟买”和“孟买”的城市 ID 为 32。

    【讨论】:

      猜你喜欢
      • 2015-11-26
      • 1970-01-01
      • 1970-01-01
      • 2013-10-04
      • 1970-01-01
      • 2011-01-08
      • 2020-07-16
      • 1970-01-01
      相关资源
      最近更新 更多