在过去的几个小时里,我一直在思考这个问题,我想我应该向这里的专家寻求一些帮助。
我有3个模型:用户,帖子,评论。我正在使用Devise进行身份验证。
用户有一个头像字段。发布has_many评论。评论belong_to帖子。
我想基本上在评论中显示用户的头像(位于用户模型中)。获取评论用户头像的语法是什么?
现在,我有:
@post.user.avatar这是可行的,但基本上显示了用户在每个评论头像图片上发布的内容(不正确)。我需要以某种方式获得评论者的头像,但不确定对于控制器查询/视图/模型调用,正确的方法是什么。
关联:
Post:
has_many :comments, dependent: :destroy
belongs_to :user
Comment:
belongs_to :post
User:
has_many :posts, dependent: :destroy提前谢谢你!
发布于 2014-10-31 12:25:58
您缺少评论和用户之间的关系。评论必须由用户来做,对吧?这在你说的话里是不存在的。评论确实属于帖子,但它们同时属于发表评论的用户。
现在,您只显示了发帖的人的头像,因为这是帖子的所有者。
因此,对于给定帖子的第一条评论,它应该是@post.comments.first.user.avatar。现在,显然这需要一些重构,但为了清楚起见,我就这样留了下来。例如,您可以在视图中编写内容以显示帖子的评论,然后创建一个评论部分视图来处理抓取评论用户的头像并显示它。
https://stackoverflow.com/questions/26660057
复制相似问题