如果我收到这个错误
在尝试在_user.html.erb中使用这一行之后的undefined method impressionist_count' for nil:NilClass
<%= @user.impressionist_count+@user.microposts.sum(&:impressionist_count) %>它需要在哪里定义?我已经在user.rb里面有这个了
def impressionist_count
impressions.size
end我试过各种帮手,但都无济于事
发布于 2013-04-18 12:06:02
当您“呈现@users”时,每个用户都可以作为局部变量" user“被局部变量访问。你的部分应该是这样的:
<%= user.impressionist_count+user.microposts.sum(&:impressionist_count) %>发布于 2013-04-18 11:04:38
该方法已定义,但@user对象尚未定义。这应该在控制器中分配,以便它在视图中工作,或者在渲染部分时应该为它提供一个对象。
也许你有类似这样的东西:
<%= render(:partial => 'user') %>如果你有一个user变量,你可能需要这样做:
<%= render(:partial => 'user', :object => user) %>包括短语"for nil“在内的错误表示未正确使用未定义的值。
https://stackoverflow.com/questions/16073786
复制相似问题