

よくある中間テーブルは、categories <-> category_products <-> products
のような感じで、アルファベット順で、category_productsのような中間テーブルを作成すると思います。

今回、お尋ねしたいのが、recipe <-> recipe_statuses <-> users
のような感じで、ステータスを主に扱う中間テーブルを持ちたい場合、recipe_statusesのような命名でもいいのでしょうか？それともrecipe_usersのような命名の方がいいのでしょうか？

[code]

    recipe_statuses:
      recipe_id
      user_id
      status (enum: approved, declined)
    
[/code]


CC BY-SA 3.0
2015-07-23T11:06:33.923
12618
2015-09-24T06:09:40.290
2015-07-23T11:16:22.767
9860
9860
question
ruby-on-rails
Railsの中間テーブルの命名規則について


recipe_statusesのような命名で良いのではないでしょうか。

モデル名2つをアルファベット順でくっつける、みたいな慣習は特にないと思います。  
例えばRailsガイドでも以下のような例が挙げられています。

physicians <-> appointments <-> patients

参考  
<http://guides.rubyonrails.org/association_basics.html#the-has-many-through-
association>


CC BY-SA 3.0
2015-09-04T15:18:56.030
16263
2015-09-04T15:18:56.030
2599
12618
answer


Rails 1〜2の頃は、多対多の関連に has_and_belongs_to_many が使用されていました。  
has_and_belongs_to_manyを使用する場合、"categories_products"のような命名が推奨されていたため、古い記事などではまだこの表記が残っています。

現在では has_and_belongs_to_many は非推奨とされ、has_many :throughに置き換わったため、  
モデル名を単純に結合して"categories_products"のようにするのではなく、極力テーブル名自体に意味を持たせる形に変わりました。


CC BY-SA 3.0
2015-09-24T06:09:40.290
16892
2015-09-24T06:09:40.290
732
12618
answer