Rails用户/帖子/评论的关联

gar*_*hcn 5 ruby-on-rails

我正在尝试创建一个类似博客的应用程序,有3个模型:用户,帖子和评论.正如所料,评论同时属于用户和帖子.

我使用了以下关联:

User.rb

has_many :comments
has_many :posts
Run Code Online (Sandbox Code Playgroud)

Post.rb

has_many :comments
belongs_to :user
Run Code Online (Sandbox Code Playgroud)

Comment.rb

belongs_to :user
belongs_to :post
Run Code Online (Sandbox Code Playgroud)

我试图使用:@ user.comments.create创建评论

但是,这会将评论与用户相关联,但不会与帖子相关.我希望评论与用户和帖子相关联.有办法吗?或者我使用了错误的关联?

我认为手动设置user_id或post_id可能是一种不好的做法,因此两个id都不在attr_accessible中.我不确定它是否正确.

谢谢!

Cho*_*ett 3

您不需要post_id专门设置 , 。尝试@user.comments.create(:post => @post)