私はcompany
とemployee
のテーブルを持っていますが、私の結合テーブルはcompanies_employees
と呼ばれる必要がありますか?私はこのことについてレールの文書には何も見ません。テーブルを結合するには、レールで従来の命名を使用する必要がありますか?
1
A
答えて
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
いいえ、実際にテーブルの名前を特定の方法で指定する必要はありません。それは単なる慣習です。任意のモデルのテーブル名を上書きできますが、通常はレガシースキーマがあるために行います。
そして、あなたは会社と従業員の両方に属しているモデルを持っている場合も同様に、それは、またはEmployeeCompany
(従来のテーブル名employee_companies
(従来のテーブル名はcompany_employees
だろう)CompanyEmployee
命名されている必要はありませんが、それは多くの場合に理にかなっています結合表の。
関連する問題
- 1. SQL - 結合を使用する必要がありますか?
- 2. Javaの命名規則を使用する必要がありますか?
- 3. EclipseとJava - 従来のSE 6ランタイムをインストールする必要があります。
- 4. Mysqlの命名規則:フィールド名に過去の時制を使用する必要がありますか?
- 5. 私は結合テーブル内の列にアクセスする必要があります
- 6. どのオブジェクトメッシュを結合する必要がありますか?
- 7. ++ varを使用する必要がある場合はありますか?
- 8. Mysqlテーブル。複数のテーブルを使用する必要がありますか?
- 9. Pythonで結合する必要がある文字のリストに空白またはNoneを使用する必要がありますか?
- 10. MySQLは2つのテーブルを結合し、結果はIN_typeにする必要があります。
- 11. メディアクエリーを結合するためにどのwebpackローダーを使用する必要がありますか?
- 12. xmlファイルに別の要素名を使用する必要があります
- 13. SQL結合/接合テーブルに追加のデータを格納する必要がありますか?
- 14. メインアクティビティで「singleInstance」を使用する必要があります。また、別のアクティビティをトップに持って来る必要があります
- 15. は、floatを使用する必要がありますが、シーケンスは、結果
- 16. Zend Framework:フォーム:フォーム要素名とDBテーブルにcamelCaseを使用する必要がありますか?
- 17. RESTfull APIの場合はCORSを使用する必要がありますか?
- 18. データモデリング:常に交差テーブルを使用する必要がありますか?
- 19. LDAPパスでドメインコントローラ名を使用する必要がありますか?
- 20. メインアクティビティ名は.MainActivityである必要がありますか?
- 21. 私はsingletableviewを使用する必要がありますか?
- 22. はcaptchaを使用する必要がありますか?
- 23. 私はフォームタグを使用する必要がありますか?
- 24. gDistanceの出力を距離測定に使用するシェイプファイルに結合する必要があります。
- 25. Web jsonの結果でenumを使用する必要があります
- 26. 結果をMonadにバインドする必要がありますか?
- 27. RecyclerViewでCursorLoaderを使用する必要がありますか?
- 28. DynamoDBでEC2を使用する必要がありますか?
- 29. Parcel.writeSerializableをParcelable.writeToParcelで使用する必要がありますか?
- 30. フォントでwebpackを使用する必要がありますか?