添加@ article.comments.size时,Rails“未定义的方法’名称’为nil:NilClass”错误

我正在关注Jumpstartlab的Blogger Rails教程。

我使用的是Ruby 2.2.1和Rails 4.0.0。

添加时会引发“未定义的方法’名称’为nil:NilClass”错误

() 

 

Comments

在〜/ show.html.erb中。

如果我换掉这一行

  

我没有得到任何错误,一切都正确显示(除了标题显示在错误的位置 – 在评论之后,而不是之前)。

我尝试了git hard reset来恢复整个评论部分git hard reset做所有这些,但我得到了同样的错误。

这是我提出错误的〜/ show.html.erb的代码:

 

Comments ()

<%= link_to '<>', articles_path %>

我在用…

articles.rb:

 class Article < ActiveRecord::Base has_many :comments end 

comment.rb:

 class Comment < ActiveRecord::Base belongs_to :article end 

我的解决方法是交换

 

Comments ()

  

但这会在错误的位置显示标题。 它对我来说也没有任何意义。 请注意,如果我不包含,则没有错误

 ()` in `

Comments

“ NoMethodError未定义方法`名称’为nil:NilClass ”的解决方案“让我检查我的数据库是否缺少id,但那里没有问题。

您可以尝试使用.count.length而不是.size

 

Comments (<%= @article.comments.count %>)

我正在使用ruby 2.3和rails 4.0.0。