0
我正在使用Grails 1.3.7。假设我有域对象Foo和Bar。 Foo和酒吧有一个列表面条实例。在NoodleController,FooController的和BarController,我有一个fetchNoodles行动返回的记录列表JSON,这样从各种来源返回相同的JSON记录列表
NoodleController
def fetchNoodles = {
List data = []
for(noodle in Noodle.list())
data.add([noodle.id, noodle.name, noodle.stuff]
render data as JSON
}
FooController的
def fetchNoodles = {
List data = []
foo = Foo.get(params.id)
if (foo) {
for(noodle in foo.noodles())
data.add([noodle.id, noodle.name, noodle.stuff]
}
render data as JSON
}
BarController
def fetchNoodles = {
List data = []
bar = Bar.get(params.id)
if (bar) {
for(noodle in bar.noodles())
data.add([noodle.id, noodle.name, noodle.stuff]
}
render data as JSON
}
问题
- 我怎样才能避免重复3次同样的代码?
- 如何将筛选添加到这些列表提取操作,仍然没有重复自己?
只是真棒,完美,使代码漂亮^^ – Monkey 2011-04-26 09:44:57