我看到ActiveAdmin::Filters::ResourceExtension 定义了 reset_filters!,但我不知道应该在哪里调用它。当我在活动管理员中创建新记录时,我希望重置过滤器。
示例:我有一个 Post 模型和 Tag 模型。帖子有很多标签。当我创建一个新标签并使用该新标签标记一个帖子时,帖子 ActiveAdmin 页面上的过滤器不会更新 - 它只列出以前存在的标签并且不包括过滤器中的新标签。
我该怎么做呢?
我看到ActiveAdmin::Filters::ResourceExtension 定义了 reset_filters!,但我不知道应该在哪里调用它。当我在活动管理员中创建新记录时,我希望重置过滤器。
示例:我有一个 Post 模型和 Tag 模型。帖子有很多标签。当我创建一个新标签并使用该新标签标记一个帖子时,帖子 ActiveAdmin 页面上的过滤器不会更新 - 它只列出以前存在的标签并且不包括过滤器中的新标签。
我该怎么做呢?
我认为那是因为你有这样的过滤器:
filter :foo, as: :select, collection: Foo.where(bar: 'baz')
但是你需要的是这样的:
filter :foo, as: :select, collection: proc{ Foo.where(bar: 'baz') }
另外,为了后代:https ://github.com/gregbell/active_admin/issues/2465