【问题标题】:undefined method `size' for nil:NilClassnil:NilClass 的未定义方法“大小”
【发布时间】:2012-07-11 16:34:20
【问题描述】:

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

@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

它返回一个整数...

【问题讨论】:

    标签: ruby-on-rails-3


    【解决方案1】:

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

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

    【讨论】:

    • 哈哈 哎呀!我的错。凌晨 2 点编码可以为您做到这一点。谢谢!
    【解决方案2】:

    if @aritcles.size > 15 应该是if @articles.size > 15

    但是您的代码很奇怪,没有必要这样做。 只需执行以下操作即可。

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

    【讨论】:

      【解决方案3】:

      替换
      @aritcles.size > 15

      @articles.seze > 15

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-07-27
        • 2013-06-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多