ruby-on-rails - Rails 用户/帖子/评论关联

标签 ruby-on-rails

我正在尝试创建一个像博客一样的应用程序,具有 3 个模型:用户、帖子和评论。正如预期的那样,评论既属于用户又属于帖子。

我使用了以下关联:

用户.rb

has_many :comments
has_many :posts

帖子.rb

has_many :comments
belongs_to :user

评论.rb

belongs_to :user
belongs_to :post

我尝试使用以下方法创建评论: @user.comments.create

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

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

谢谢!

最佳答案

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

关于ruby-on-rails - Rails 用户/帖子/评论关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4918764/

相关文章:

ruby-on-rails - 不同的模型如何在 Rails 中使用相同的登录页面

ruby-on-rails - 在 Windows 7 上安装 Ruby on Rails - 快速简单

ruby-on-rails - 如何在嵌套属性中使用条件验证 validate_presence_of ?

ruby-on-rails - Time.zone.now.to_date 是否等同于 Date.today?

mysql - 使用 Mysql2 gem 的 Ruby SQL 插入

sql - rails : How to find_by a field containing a certain string

ruby-on-rails - 跨多个服务器管理配置文件

ruby-on-rails - 图像的 Rails 3.1 绝对 URL

ruby-on-rails - 使用多个 yield 插入内容

ruby-on-rails - 如何在运行时禁用 Rails 关联 counter_cache