0

私は次の3つのモデルにどのような関連付けをするべきかを判断する助けが必要です。以下はテーブルと私が現在の協会と思うものです。以下を達成するためのより良い方法があるかどうかを教えてください。ありがとうRails Associationヘルプ - 多態性協会を使用しますか?

テーブルの外観。

User Table 
id 

Meal Table 
id 

Comment Table 
user_id 
Meal_id 

ここで私は関連が見えると思いますが、これは関連のタイプによって変わる可能性があります。

User 
has_many :comments 

Meal 
has_many :comments 

Comment 
belongs_to :user 
belongs_to :meal 
+0

フォローアップの質問として。私は特定の食事のためのコメントを作成し、それをユーザーにリンクするためにコントローラを書くことを試みています。私はhttp://guides.rubyonrails.org/getting_started.htmlに従っていますが、ユーザーはいないので、user_id列に書き込む方法がわかりません。あなたが素晴らしいコード例を私に与えることができれば。ありがとう –

答えて

0

これは良い方法のようです。

アソシエーションの名前をbelongs_to :author, :class_name => "User"に変更すると、アソシエーションがシステムで果たす役割をより明確にすることができます。

コメントするモデルを追加する場合は、polymorphic associationsを使用してください。