我得到"未定义的方法`abstract_class?" for Object:Class"for count_by_sql

Tar*_*ast 5 ruby-on-rails

我收到错误: undefined method 'abstract_class?' for Object:Class

在count_by_sql上,如下所示:

my_count = ActiveRecord::Base.count_by_sql(["SELECT widgets FROM wodgets WHERE colour = ? LIMIT 1", my_favourite_colour])
Run Code Online (Sandbox Code Playgroud)

我刚刚从Rails 2.2.2升级到2.3.4以前它曾经工作过.

Tar*_*ast 5

的ActiveRecord的count_by_sql调用一些深层次的ActiveRecord :: Base的魔力,假设你是一个实际的ActiveRecord(即东西,从AR继承,而不是AR本身),从而试图调用名为abstract_class的内部方法?通常会返回类名(例如订单或产品).

你可以通过使用一个实际的AR对象来解决这个问题(哪一个并不重要),例如:

my_count = MyWidget.count_by_sql(["SELECT widgets FROM wodgets WHERE colour = ? LIMIT 1", my_favourite_colour])
Run Code Online (Sandbox Code Playgroud)