我正在使用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)
}
现在,默认情况下这是有效的,但问题是它显示了用户的所有内容,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 对象?