带有rails 4.1的活动管理员范围

时间:2014-05-15 14:00:55

标签: activeadmin ruby-on-rails-4.1

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

显示../bundler/gems/active_admin-ad33a0f6c772/app/views/active_admin/resource/index.html.arb第1行引发:

未定义的方法`call'for ClassList :: ActiveRecord_Relation:0xa9f44bc

提取的来源(第1行附近)

1 insert_tag renderer_for(:index)

以下是我正在使用的代码

ActiveAdmin.register ClassList做  #....  范围:coming_classes  #.... 端

和模型

class ClassList<的ActiveRecord :: Base的   范围:coming_classes,where('class_date>?',Date.today) 端

请有人帮我解决此错误吗?

谢谢,

1 个答案:

答案 0 :(得分:1)

您应该使用proc定义范围。

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

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