1

传递时无法在索引视图中呈现类别名称

<%= post.category.name %>

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

错误:

undefined method `name' for nil:NilClass

然而,当通过

<%= post.category %>

我明白了

#<Category:0x007ff5c2c20b68>

在单个 Show 动作中

<%= @post.category.id %>

完美运行。可能是什么问题?谢谢

4

2 回答 2

1

我认为对于至少 1 个帖子,该类别是nil

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

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

或者

<%= post.category.try :name %>
于 2013-07-22T16:59:19.923 回答
0

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

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

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

于 2013-07-22T16:50:32.963 回答