我有一个管理员信息中心school_dashboard.rb
:
require "administrate/base_dashboard"
class SchoolDashboard < Administrate::BaseDashboard
ATTRIBUTE_TYPES = {
students: Field::HasMany.with_options(class_name: "User"),
teachers: Field::HasMany.with_options(class_name: "User"),
id: Field::Number,
name: Field::String,
created_at: Field::DateTime,
updated_at: Field::DateTime,
}
...
end
我有User
模型,其范围如下:
class User < ActiveRecord::Base
enum role: [:student, :teacher, :admin]
# scopes
scope :students, -> { where(role: User.roles[:student]) }
scope :teachers, -> { where(role: User.roles[:teacher]) }
scope :admins, -> { where(role: User.roles[:admin]) }
...
end
是否可以在我的管理信息中心指定范围?我想通过使用我的范围或传入where子句以某种方式指定学生拥有:role => User.roles[:student]
,但我在Administrate代码中没有看到这一点。