我想按名称显示每个类别。我有一个帖子和类别模型,每个帖子只有一个类别。
这有效:<% @category = Category.find(3) %>
此操作失败:<% @category = Category.find(post.cat_id) %>
我的错误:Couldn't find Category with id= ".
我的观点栏:
<% @posts.each do |post| %>
<%= post.title %>
<% @category = Category.find(post.cat_id) %>
<%= @category.category %></td>
<% end %>
答案 0 :(得分:0)
您不应该在视图中执行<% @category = Category.find(post.cat_id) %>
之类的查询。如果您没有以可以调用post.category
的方式配置关系,则应该向Post模型添加一个方法,例如:
def get_category
Category.find(self.category_id).category
end
然后,您可以从视图中调用post.get_category
,它将为您处理查询。