我收到错误:
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])
我刚刚从Rails 2.2.2升级到2.3.4,以前它曾经工作过。
答案 0 :(得分: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])