Rails - 在索引视图中呈现“类别”模型值时出错

时间:2013-07-22 16:39:34

标签: ruby-on-rails ruby

传递

时,无法在索引视图中呈现类别名称
<%= post.category.name %>

<% @posts.each do |post| %>

错误:

undefined method `name' for nil:NilClass

然而,传递时

<%= post.category %>

我得到了

#<Category:0x007ff5c2c20b68>

在个别的表演行动中

<%= @post.category.id %>

完美无缺。可能是什么问题? 感谢

2 个答案:

答案 0 :(得分:1)

我认为对于至少1篇文章,该类别为nil

您可以通过进行此更改来避免错误

<%= post.category.name if post.category %>

<%= post.category.try :name %>

答案 1 :(得分:0)

查看每种情况下调用的SELECT命令,您可以在终端中看到它运行rails s

我怀疑由于某种原因,在索引控制器中,类别信息没有与帖子一起检索

如果您不知道SELECT命令有什么问题,请将此处的所有内容与控制器和模型一起发布