我有 3 个基本模型:文章、评论和用户。目前评论嵌套在文章中,但是文章的所有评论都显示在文章显示页面上。我的“问题”是评论应该属于用户和文章。现在,在我的 comments_controller 的创建操作中,同时执行 2 个构建操作有点困难。我基本上想要的是
@comment = @article.comments.build(params[:comment])
和一个
@comment = @user.comments.build(params[:comment])
在我的comments_controller 的同一个创建操作中。当然,如果我没记错的话,你不能同时执行两条线。至少它不会做我想要的。
在我的评论中,我想调用评论的用户信息来获取 user_name 和他的头像。我可以在我的评论表中添加一个 user_name 列并使用
@user = current_user
@comment = @article.comments.build(params[:comment])
@comment.user_name = @user.name
但是当我想通过回形针插件显示评论的用户头像时,这有点笨拙并且变得复杂。
使用多态关联与用户和文章模型的“可评论”界面建立评论(与文章和用户)的2个关联是唯一可能的方法吗?我觉得即使这在逻辑上也不是很干净,因为用户并不是真正可评论的,而是发表评论。当然,这种缺乏逻辑对应用程序来说不是问题,但是在我看来,对于属于多个模型的评论这种相当常见的情况,是否没有其他解决方案?任何帮助表示赞赏!谢谢!