2014-12-23 49 views
0

我有一個城市模型和城市表。服務模型和服務表。 服務有一個城市(起源城市和命運城市)。而一個城市「有很多」服務。 在服務表中,它有兩列關於城市的信息:origin_city_id和destiny_city_id。但只有一個模型和一張關於城市的表格。Rails:使用'foreign_key'

如何在這兩個表格/模型之間創建關係?

我要當管理員創建

的啓動代碼服務使用此兩個字段(起源和命運市)的輸入形式,:

  • 城市模型:的has_many:服務

  • 服務模式:belongs_to的:城市

回答

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 
+0

我需要使用:origin_services還是隻能在'has_many'中使用:service? – Somebody

+0

根據您使用的Rails版本,您應該可以執行'has_many:services, - >(city){where(「services.origin_city_id =?or services.destiny_city_id =?or services.destiny_city_id =?」,city.id,city。 id)}'如果你只想在'City'上單個'has_many'關聯。 –

相關問題