2017-09-19 70 views

回答

1

名稱連接表中可以改變的。這裏是has_and_belongs_to_many文件。

如果連接表的基礎上,詞彙順序的默認名稱,是 不是你想要的,你可以使用:join_table選項覆蓋 默認。

所以,你可以這樣改:

# Company model 
has_and_belongs_to_many :employees, join_table: "comp_emps" 

# Employee model 
has_and_belongs_to_many :companies, join_table: "comp_emps" 
1

不,實際上沒有一個表必須以特定方式命名 - 這只是慣例。你可以覆蓋任何模型的表名,但通常你會這樣做,因爲你有一個傳統模式。

同樣,如果你有一個屬於兩個公司和員工一個模型,可以不必被命名爲CompanyEmployee(傳統的表名是company_employees)或EmployeeCompany(傳統的表名employee_companies,但它往往是有道理的。