0

我在使用 rails 4.1 的 Active Admin 中收到此错误

显示 ../bundler/gems/active_admin-ad33a0f6c772/app/views/active_admin/resource/index.html.arb 其中第 1 行提出:

ClassList::ActiveRecord_Relation:0xa9f44bc 的未定义方法“调用”

提取的源代码(第 1 行附近)

1 insert_tag renderer_for(:index)

下面是我正在使用的代码

ActiveAdmin.register ClassList do #.... scope :upcoming_classes #.. end

并在模型中

class ClassList < ActiveRecord::Base scope :upcoming_classes, where('class_date > ?', Date.today) end

请有人帮我解决这个错误吗?

谢谢,

4

1 回答 1

1

您应该使用proc.

class ClassList < ActiveRecord::Base
  scope :upcoming_classes, proc { where('class_date > ?', Date.today) }
end

Rails 4+ 期望范围用可调用对象包装,该对象通常定义为proc. 请参阅Active Record 查询接口:Scopes文档;他们在那里使用-> { }proc 语法。

于 2014-05-15T20:43:53.690 回答