Grails Rateable Plugin не сохраняет рейтинг в базе данных
Я новичок в Grails. Я использую плагин Rateable для интеграции функции рейтинга пользователя в моем приложении Grail. Я делаю так...
Монтаж
grails install-plugin rateable
мой класс Post.groovy домена ---
package groovypublish
import org.grails.twitter.Person
import org.grails.rateable.*
class Post implements Rateable {
static hasMany = [comments:Comment]
String title
String teaser
String content
Date lastUpdated
Boolean published = false
SortedSet comments
Person author
static searchable = [only: 'title']
static constraints = {
title(nullable:false, blank:false, length:1..50)
teaser(length:0..100)
content(nullable:false, blank:false)
lastUpdated(nullable:true)
published(nullable:false)
}
}
Тег, который я использую в моем файле _post.gsp...
<rateable:ratings bean='${post}'/>
Моя рейтинговая звезда показывает вот так...
Когда пользователь дает оценку, то он показывает, как это..
Но рейтинг не сохраняется в базе данных.
Когда я снова обновляю страницу, она показывается (0 оценок). Я не знаю, почему мой рейтинг не сохраняется в БД. Я использую Spring Security Core Plugin для аутентификации. Любое предложение???
ОБНОВЛЕНИЕ: ---
я добавил grails.rateable.rater.evaluator = { request.user }
строка в мой файл Config.groovy. Но это показывает ОШИБКУ:
URI
/groovypublish/rateable/rate/1
Class
org.grails.rateable.RatingException
Message
No [grails.rateable.rater.evaluator] setting defined or the evaluator doesn't evaluate to an entity. Please define the evaluator correctly in grails-app/conf/Config.groovy or ensure rating is secured via your security rules
1 ответ
Я использую Spring Security Core Plugin для аутентификации
В этом случае вы, вероятно, хотите что-то вроде
grails.rateable.rater.evaluator = {
grailsApplication.mainContext.springSecurityService.currentUser
}