Я пытаюсь создать базовую форму с именем пользователя/паролем и сохранить результаты в базе данных, чтобы ознакомиться с ней.Scala + Play Framework: Основная форма
Шаг первый, и я немного застрял: я не могу заставить приложение отображать форму в своем браузере. Как только я смогу это сделать, я полагаю, что я перейду к настройке моей базы данных. Но каждый раз, когда я пытаюсь запустить мое приложение, я получаю эту ошибку:
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)