我有一个非常简单的代码片段,可以在数据库的books表中添加一个新行:
def add = Book.toForm(Full("Add"), { _.save })
在我的模板中调用此代码片段会生成一个表单,并且提交表单会给我一个帖子请求,但没有任何反应,它从不尝试与数据库通信,不会发生错误或异常:
09:03:53.631 [865021464@qtp-2111575312-18] INFO net.liftweb.util.TimeHelpers - Service request (POST) /books/ returned 200, took 531 Milliseconds
我不确定我的模型的保存方法是否未被调用,或者保存方法是否无效。根据“提升行动”一书中的示例,我认为默认的Mapper保存方法应该正常工作,这就是我现在正在使用的方法。我的模型类很简单:
class Book extends LongKeyedMapper[Book] with IdPK {
def getSingleton = Book
object name extends MappedString(this, 100)
}
object Book extends Book with LongKeyedMetaMapper[Book] {
override def dbTableName = "books"
}
我在模型中遗漏了什么,或者这看起来是否正确?如果这应该有效,我该如何调试它不起作用?
答案 0 :(得分:0)
如果您没有会话,表单就不起作用(因此您需要启用Cookie)。会话将表单名称映射到服务器上的函数。不幸的是,当找不到表单的处理函数时,电梯没有记录错误。