无法在索引视图,以呈现类别名称传递导轨 -
<%= post.category.name %>
到
<% @posts.each do |post| %>
错误时索引视图时出现错误渲染“类别”模型值:
undefined method `name' for nil:NilClass
但是,当通过时
<%= post.category %>
我得到
#<Category:0x007ff5c2c20b68>
内的各个显示操作
<%= @post.category.id %>
完美。可能是什么问题? 感谢
这是非常微小的,断章取义的代码片段,避免错误。显示你的循环为'<%@ posts.each do | post | %>'。在那个循环中,如果'<%= post.category.name%>'指示一个'nil'类,那么就用'<%= post.category.name ||替换那行。 “发布ID#{post.id}没有类别”%>',看看你得到了什么。 – lurker
你可以使用'try':'post.category.try(:name)'方法,如果帖子有一个链接到它的类别,它将显示该类别的名称。 – MrYoshiji
谢谢! <%= post.category.try(:name)%>工作!为什么? –