ActiveAdmin更新过滤器集合(reset_filters!)

Dav*_*d_R 0 ruby-on-rails activeadmin

我看到ActiveAdmin :: Filters :: ResourceExtension定义了reset_filters!,但我不知道该在何处调用。在活动管理员中创建新记录时,我希望重置过滤器。

示例:我有一个Post模型和Tag模型。帖子有很多标签。当我创建一个新标签并用该新标签标记一个帖子时,“帖子ActiveAdmin”页面上的过滤器不会更新-它仅列出以前存在的标签,并且在过滤器中不包含新标签。

我该怎么做呢?

sea*_*ley 5

我认为那是因为您有这样的过滤器:

filter :foo, as: :select, collection: Foo.where(bar: 'baz')
Run Code Online (Sandbox Code Playgroud)

但是您需要的是:

filter :foo, as: :select, collection: proc{ Foo.where(bar: 'baz') }
Run Code Online (Sandbox Code Playgroud)

此外,为了后代:https : //github.com/gregbell/active_admin/issues/2465