nil的未定义方法`size':NilClass

时间:2012-07-11 07:55:23

标签: ruby-on-rails-3

为什么我的代码会返回此错误?

@articles = Article.order("id DESC").where(:visible => 1)
if @aritcles.size > 15
  @articles = Article.order("id DESC").where(:visible => 1).limit(15)
end

返回:

undefined method `size' for nil:NilClass

如果我跑

@articles = Article.order("id DESC").where(:visible => 1)
@articles.size

它返回一个整数......

3 个答案:

答案 0 :(得分:3)

如果这是来自您的真实代码,那么您将articles误导为aritcles

如果不同,请提供真实的代码。

答案 1 :(得分:3)

if @aritcles.size > 15应为if @articles.size > 15

但你的代码很奇怪,没有必要这样做。 只要做到以下就足够了。

@articles = Article.order("id DESC").where(:visible => 1).limit(15)

答案 2 :(得分:0)

替换
@aritcles.size > 15

@articles.seze > 15