应用程序的未定义方法`count':Class

时间:2016-10-14 15:30:08

标签: ruby-on-rails

这是我第一次玩Rails,我收到以下错误......

undefined method `count' for Application:Class

我的控制器看起来像这样......

class AvabotController < ApplicationController

    skip_before_filter :verify_authenticity_token

    def index
        text = params[:text].split(' ')

        if text[0] == 'count'
            response = Application.count
        end

        render plain: response
    end
end

我的应用程序模型......

class Application < ApplicationRecord
end

为什么我收到此错误?它以前工作但现在不是!

*编辑 如果我将应用程序与我的任何其他活动记录模型(例如位置)交换,它的工作正常。

2 个答案:

答案 0 :(得分:0)

你能否找到&#34;应用程序&#34;的真正本质?你在控制器中调用的元素? text[0] == 'count' response = Application.count end

并将其与您的某个型号进行比较。我不确定,但是&#34;应用&#34;可以在控制器的上下文中保留其他内容。

答案 1 :(得分:0)

不确定你在那里算什么,但Application.count对我来说没有多大意义。如果你试图在当前控制器中计算模型的对象,你可以这样做:

if params[:controller]
  params[:controller].classify.constantize.try(:count) || 0
end

所以,这样,当模型不存在时,它不会抛出错误...它将返回0