Rails和编程很新。
我有以下关联:
class Comment < ActiveRecord::Base
belongs_to :post
belongs_to :user
class Post < ActiveRecord::Base
has_many :comments
belongs_to :user
class User < ActiveRecord::Base
has_many :posts
has_many :comments
在我的用户#show视图中,我想创建一个包含Commented On和Link的列的表。我希望Commented On列成为用户评论的帖子的名称。
我的评论表有post_id和user_id外键,这些外键在生成评论时会被填充。我正在努力弄清楚如何根据post_id
检索帖子标题我想做以下事情:
<% @user.comments.each do |comment| %>
<tr>
<td><%= comment.post_id.title %></td>
<td>|</td>
<td><%= link_to 'Show', post_path(comment.post_id) %></td>
</tr>
<% end %>
“comment.post_id.title”没有在视图中嵌入帖子的标题。
有没有办法做我想解释的事情?
答案 0 :(得分:0)
我会做这样的事情:
<% @user.comments.includes(:post).each do |comment| %>
<tr>
<td><%= comment.post.title %></td>
<td>|</td>
<td><%= link_to 'Show', post_path(comment.post) %></td>
</tr>
<% end %>