【发布时间】:2015-08-01 13:00:32
【问题描述】:
我正在尝试让 cmets 出现在博客文章中。评论与帖子相关联。但我不知道如何将@post.comments 传递给共享文件夹中的部分文件。
这是错误:
undefined method `body' for #<Comment::ActiveRecord_Associations_CollectionProxy:>
这是show.html.erb 文件中的部分调用:
<%= render partial: 'shared/comment', locals: { comment: @post.comments } %>
这是_comment.html.erb 部分:
<%= comment.name %>
<%= comment.body %>
<%= comment.created_at %>
评论模型迁移:
create_table :comments do |t|
t.string :name
t.text :body
t.references :post, index: true, foreign_key: true
但是模型不是问题,因为我可以使用简单的<%= render @post.comments %> 并将_comment.html.erb 部分放在 /views/cmets/ 文件夹中。但是,我想将所有部分保留在 /shared 文件夹中(并首先了解为什么它甚至可以工作)。
我花了几个小时在这里寻找解决方案并一遍又一遍地阅读this。尝试了所有可能的变化。有什么想法吗?
【问题讨论】: