0

我的 Grails 应用程序中有不同的类,用户应该为其创建注释。例如,帖子、书籍、文章

环境

static hasMany = [comments: Comment]

对每个班级似乎都是一个糟糕的解决方案。使它们可评论的最佳方法是什么?一个通用的 Comment 类应该是什么样子的?

4

4 回答 4

0

最简单的方法是在 src/groovy 中定义一个可注释的接口,并让你的类继承这个接口。这只是普通的 java 编码,但可以让您集中所有与评论相关的代码,希望围绕 grails 服务。如果你想变得花哨,你可以为此使用注释。

完成此操作后,您可以将此代码移出到插件中,以便在不同的项目中使用它。

于 2013-05-06T19:09:58.757 回答
0

为什么这是一个糟糕的解决方案?对我来说看起来完全正确。您的域类确实有很多评论,对吧?

于 2013-05-07T13:41:22.173 回答
0

您还可以创建抽象基类 Commentable,然后其他域可以扩展 Commentable。现在您可以创建带有 belongsTo 可评论的评论类。您还可以通过简单的 Commentable.findAllBy(this) 在 Commentable 类中实现 getComments。在我看来,避免“hasMany”关系也是个好主意。

于 2013-05-07T20:44:28.273 回答
0

您可以在此处使用继承。

创建将具有此设置的基类

 static hasMany = [comments: Comment]

& 让所有其他类,即 Post、Book、Article,继承它。

于 2013-10-18T11:17:15.577 回答