【问题标题】:How can I filter a list in Grails based to only display what 'belongsTo' a particular user?如何过滤 Grails 中的列表以仅显示特定用户的“属于”内容?
【发布时间】:2023-04-09 18:27:01
【问题描述】:

我想答案很基本,但我对 Grails 还是很陌生,很难在其他任何地方找到我的问题的答案。

基本上,我有两个域类,用户和事件。事件与用户具有“belongsTo”关系,而用户与事件具有“hasMany”关系。该应用程序需要用户登录。登录后,他们可以查看已创建事件的列表,但该列表包含所有已创建事件;甚至是其他用户创建的。如何过滤列表以仅显示登录用户创建的内容?我不希望一个用户能够访问和更改另一个用户创建的事件。

【问题讨论】:

    标签: list grails filter controller gsp


    【解决方案1】:

    Ethan 的答案是正确的,而且很容易做到。但是如果你有很多不同的地方需要过滤,那么你有点忘记过滤的风险。

    您可以使用休眠过滤器插件自动过滤所有数据。请参阅http://trac.serveall.net/web/ibidem 了解我根据当前用户所在公司过滤数据的示例。

    【讨论】:

      【解决方案2】:

      如果你的控制器有登录用户的 id,你应该可以这样做

      user = User.get(id)
      def events = user.events

      并将其传递给您的视图:

      redirect(controller: 'event', action: 'list', userEvents:events)

      【讨论】:

        猜你喜欢
        • 2010-12-21
        • 1970-01-01
        • 2016-04-25
        • 2022-01-23
        • 2017-11-25
        • 2013-01-05
        • 2022-11-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多