代码之家  ›  专栏  ›  技术社区  ›  Bill Hutchinson

Grails 3限制索引视图中的列

  •  0
  • Bill Hutchinson  · 技术社区  · 6 年前

    几年后,我回到了Grails,发现其生产效率比以往任何时候都高,但在Fields插件和“Response”方法方面遇到了一些障碍。我创建了一个具有hasMany的域类,但不希望索引视图中充斥着指向这些子级的链接。我可以通过放置\u表来消除该列。gsp模板并对其进行修改,但这将在全球范围内适用,我不希望这样。

    我的下一次尝试是在控制器内的域对象上调用“list”,并仅“收集”我想要的列。当我将此结果传递给“respond”时,视图为空,但没有错误。

    进一步挖掘,我发现“respond”需要一个PagedResultList,而我收集的是一个列表的薄包装。但我上面的步骤返回一个ArrayList。我看不出如何构造PagedResultList,而将ArrayList传递给“Response”却没有任何作用。

    通过使用“render”和老式的手工构建视图,我最终获得了想要的外观,但这似乎违背了“respond”和Fields插件简单优雅的目的。

    我是否错过了一些简单的事情?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Mike W    6 年前

    如果你高兴的话 generating the views 对于您的域,您可以修改索引。gsp并指定以下属性:

    <f:table collection="${authorList}" properties="['name', 'city', 'dob']" />
    

    您还可以使用“except”指定要跳过的字段, docs here