Пользователь может создать сообщение. Сообщения имеют комментарии. Комментарий должен принадлежать как пользователю, так и сообщению, но не обязательно тому, кто создал сообщение. Является ли следующий лучший способ смоделировать это:
class User < ActiveRecord::Base
has_many :posts
has_many :comments
end
class Post < ActiveRecord::Base
belongs_to :user
has_many :comments
end
class Comment < ActiveRecord::Base
belongs_to :user
belongs_to :post
end
Если это так, какова наилучшая практика для обеспечения:
user.comments.new
не может быть вызвано. Я хочу, чтобы все новые сообщения создавались с использованием post
, с которым они связаны.
-
id
пользователя, создающего комментарий, правильно устанавливается при вызове post.comments.new
В противном случае, как лучше моделировать эти отношения?