我正在处理一个新的小原型(prototype)项目,并尝试使用脚手架功能加载数据。我完成了保存过程,它说它已经保存在 UI 上,但后来我重新访问,对象列表仍然为 0。我添加了
loggingSql: true
进入我的 .yml 但我看不到 sql 语句。
class RiUser {
String firstName
String lastName
static hasMany = [riCases: RiCase]
static constraints = {
}
}
class RiUserController {
static scaffold = RiUser
def index() { }
}
Adding RiUser
UI shows no RiUsers After Save
任何帮助将不胜感激!
最佳答案
尝试将 @Transactional 注释添加到 Controller 。
import grails.transaction.Transactional
@Transactional
class RiUserController {
static scaffold = RiUser
def index() { }
}
注意:如果您刚刚开始使用 Grails,这是一种“好的”方法,但在实际应用程序中,您需要避免使用脚手架并自己实现 Controller 方法。您可以使用
grails generate-controller <entity>
快速开始默认的脚手架实现。您的 Controller 方法应该委托(delegate)给您的服务层,该服务层将处理任何与持久性相关的事件。默认情况下,服务层方法将包装在事务中,因此您不必担心对这些方法进行注释,除非您想控制传播级别和/或方法是否为只读,您可以在文档。
http://docs.grails.org/latest/guide/services.html#declarativeTransactions
关于Grails Scaffold Save 静默失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41881910/