Grails从一个控制器过滤索引而不是另一个控制器

时间:2014-11-24 15:51:33

标签: grails groovy

我正在处理目前使用过滤器的应用。我需要添加它,AssetsController。目前过滤器看起来像:

def filters {
    excludeSomeActionsOnSomeController(controller: 'foo', action: 'actionA|actionB', invert: true) {
        ...Filter work done here
    }
}

我尝试添加url: '/assets/*',重新启动了应用程序,但仍然为AssetController触发了过滤器。

我的问题是我想要匹配任何命中到AssetsController,以便它也被排除。我不想从FooController中排除索引方法,只是actionA和actionB。

有没有办法内置这个,或者我需要在过滤器中添加一些逻辑吗?

修改

此过滤器正在执行的操作是将每个请求记录到数据库。我们目前为每个请求运行它,除了actionA& FooController上的actionB。我正在从资源插件转换为资产管道插件,并注意到对资产的每次调用现在都已记录(我们不想/关心这些数据)。

现在我使用以下内容作为解决方法,但我正在寻找更好的解决方案。

def filters {
    excludeSomeActionsOnSomeController(controller: 'foo', action: 'actionA|actionB', invert: true) {
        if (controllerName != 'assets') {
            ...Filter work done here
        }
    }
}

0 个答案:

没有答案