【发布时间】:2020-03-22 09:21:23
【问题描述】:
我正在使用administrate gem。我有一组用户,并在该用户仪表板中显示has_many 关系。
现在,我的 user_dashboard 看起来像
class UserDashboard < Administrate::BaseDashboard
# ATTRIBUTE_TYPES
# a hash that describes the type of each of the model's fields.
#
# Each different type represents an Administrate::Field object,
# which determines how the attribute is displayed
# on pages throughout the dashboard.
ATTRIBUTE_TYPES = {
...
sub_items: Field::HasMany.with_options(limit: 10)
}
现在,这在默认情况下有效,但问题是它为用户显示 all sub_items,这通常没问题,但我试图只 显示has_many 关系,如果它具有某种类型。例如,默认情况下我不想要显示所有的user.sub_items,我只想显示user.sub_items.where(category: [arr_of_options], sub_category: [arr_of_options])
我已经试过了
- 传递此处显示的选项https://github.com/thoughtbot/administrate/blob/master/docs/customizing_dashboards.md,但
Field::HasMany没有集合/条件选项 - 仅在视图中显示某个 has_many 集合,在本例中为
admin/users/show.html.erb。这可能是可能的,但在这里这样做似乎真的很麻烦 - 尝试在 admin/users_controller 中进行过滤,但我相信控制器只给了我
requested_resource而不是该资源上的子对象
有人知道我如何只能在管理仪表板中显示某些 has_many 对象吗?
【问题讨论】:
标签: ruby-on-rails administrate