Rails:使用' foreign_key'

时间:2014-12-23 19:27:03

标签: mysql ruby-on-rails

我有一个城市模型和城市表。服务模型和服务表。 服务有一个城市(起源城市和命运城市)。一个城市'有很多'服务。 在服务表中,它有两个关于城市的列:origin_city_id和destiny_city_id。但只有一个模型和一个关于城市的表格。

如何在这两个表/模型之间创建关系?

当管理员创建服务时,我想在输入表单中使用这两个字段(起源和命运城市)

已启动的代码:

  • 城市模型:has_many:service

  • 服务模式:belongs_to:city

1 个答案:

答案 0 :(得分:0)

您需要按以下方式设置模型

class City < ActiveRecord::Base
  has_many :origin_services, class_name: 'Service', foreign_key: :origin_city_id
  has_many :destination_services, class_name: 'Service', foreign_key: :destiny_city_id
end

class Service < ActiveRecord::Base
  belongs_to :origin_city, class_name: 'City'
  belongs_to :destiny_city, class_name: 'City'
end