Last updated by 5 years ago

Page: Commentable Plugin, Version:0

Commentable Plugin

This plugin provides a generic way to add and manage comments for a given application


  • Grails Version: 1.1 and above
  • JDK: 1.5 and above


grails install-plugin taggable


Implement the Commentable interface:

import org.grails.comments.*

class Vehicle implements Commentable { }

Add some comments:

def user = User.get(1)
def v = Vehicle.get(1)

v.addComment(user, "I prefer red cars") .addComment(user, "I prefer sporty cars")


def v = Vehicle.get(1)
v.comments.each { println it.body }

In a GSP:

<comments:each bean="${vehicle}">
     ${comment.body} - Posted by ${comment.poster}

The plugin also features a generic plugin component. To use you may need to define a poster evaluator in grails-app/conf/Config.groovy. The default one looks like:

grails.commentable.poster.evaluator = { request.user }

But if you store users in the session instead you may want this to be:

grails.commentable.poster.evaluator = { session.user }

You can then use the <comments:render> tag to render all comments with a comment editor:

<comments:render bean="${vehicle}" />