这可能非常简单,但是为什么这段代码<%= @ user.name%>不适用于所有页面?

时间:2015-02-15 07:35:33

标签: ruby-on-rails ruby

将它放在Ruby on Rails中的某些页面后,我收到以下错误:

  

未定义的方法`name'为零:NilClass

它还说我所在的页面中没有方法错误。我知道这可能是一个初学者的问题,但它一直困扰着我的项目。如果你能给我一些建议,我会非常开心!先谢谢你了!

1 个答案:

答案 0 :(得分:1)

所有人的拳头:这是一个常见的陷阱。我们都不时陷入其中。

当您阅读undefined method foobar for nil:NilClass时,您知道某些内容nil不应该是nil。因此,您必须检查@usernil的原因。可能是控制器中的一个错误。

如果您想要处理这两种情况(nilUser),那么您可以使用此代码:

<%= @user.name if @user %>