1
我有兩種模式。 Office
和Employee
。 Employee
具有office_id
作爲foreign_key。這些表是在名稱空間下生成的。那麼,哪個是正確的?我應該在belongs_to中使用has_many中的foreign_key子句嗎?
class MyNamespace::Office < ActiveRecord::Base
has_many :employees, foreign_key: 'office_id'
end
class MyNamespace::Employee < ActiveRecord::Base
belongs_to :office, foreign_key: 'office_id'
end
或者
class MyNamespace::Office < ActiveRecord::Base
has_many :employees
end
class MyNamespace::Employee < ActiveRecord::Base
belongs_to :office, foreign_key: 'office_id'
end
我覺得第二個例子是正確的,因爲對我來說,不是很有意義聲明foreign_key在has_many
關係。一位同事認爲第一個例子是正確的。但我沒有找到太多的這個問題的參考。那麼,有人知道哪個是正確的例子嗎?爲什麼?
我更新了我的問題。因爲我忘記提到這些表是在名稱空間下生成的,所以在數據庫中,該表的格式爲「my_namespace_employee」和「my_namespace_office」。型號名稱與表名不匹配:/ –
我已更新我的答案 –