假设我有一个过滤器(在每个操作之前都会被调用),如何将从数据库中获取的对象传递给每个 View ?我不想重构
我所有的方法
生动化:
我有一个设置对象的过滤器,例如:
def god = God.find(1)
我有100个 Controller ,每个 Controller 有100种方法,即100 * 100 View 。
通常在 Action 中,您编写类似以下内容:
def index = {
def something = Something.find(1)
[something: something]
}
问题是我如何也可以传递
God
对象,而不必将return数组修改为[something: something, god: god]
最佳答案
您可能希望为此过滤器添加一个after
拦截器类型。 after
将model
作为闭包的参数,您可以在该模型中添加上帝。
myFilter(controller:'*', action:'*') {
after = { model ->
def god = God.find(1)
model.god = god
}
}
Here's相关文档部分。