How to implement Voting for Grails Domain Classes?
- by userWebMobile
I have a Book class and need to implement a yes/no voting functionality. My domain classes look like this:
class Book {
String title
static hasMany = [votes: Vote]
}
class User {
String name
static hasMany = [votes: Vote]
}
class Vote {
boolean yesVote
static belongsTo = [user: User, book: Book]
}
What is the best way to implement a voting for the book class. I need the following informations:
What is the average yesVote for a book over all votes (either yes or no)?
How to check if a specific user has done a vote?
What is the best way to implement the computation of the average yesVote such that the performance does not drop?