添加@ 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。