我想用用户名/密码创建一个基本表单并将结果保存到数据库中,以便熟悉它。Scala + Play框架:基本形式
第一步,我有点卡住:我无法让应用程序在我的浏览器中呈现窗体。一旦我可以做到这一点,我想我会继续让我的数据库设置。但每次我尝试运行我的应用程序时,我得到这个错误:
Cannot write an instance of play.api.Form[models.User] to http response. Try to define a Writable[play.api.Form[models.User]]
我花了我整整一天寻找解决这一问题。下面是我的文件:
Application.scala
(控制器类):
package controllers
import play.api._
import play.api.mvc._
import play.api.data._
import play.api.data.Forms._
import models._
class Application extends Controller {
val userForm = Form(
mapping(
"username" -> nonEmptyText,
"password" -> nonEmptyText
)(User.apply)(User.unapply)
)
def index = Action {
Ok(userForm)
}
}
users.scala.html
(视图):
@(user: Form[models.User])(implicit message: Messages)
@import helper._
@main(Messages("Feedback")) {
<h2>@Messages("Leave Feedback")</h2>
<form>
@inputText("username")
@inputText("password")
<input type="submit" value="@Messages("send")">
</form>
}
路线文件:
# Home page
GET / controllers.Application.index
# Map static resources from the /public folder to the /assets URL path
GET /assets/*file controllers.Assets.versioned(path="/public", file: Asset)