Я пытаюсь отправить форму, которая будет перенаправлять на другую HTML-страницу. Но метод действия не работает.
вид.html
@(bookForm:Form[Book])(implicit messages: Messages)
<html>
<head>
<title>Create Books</title>
<body>
<h1>Create Books</h1>
@helper.form(action=routes.BooksController.save()){
@helper.inputText(bookForm("id"))
@helper.inputText(bookForm("title"))
@helper.inputText(bookForm("price"))
@helper.inputText(bookForm("author"))
}
<input type = "submit" value = "Create Book" />
</body>
</head>
</html>
контроллер .scala
def index() = Action {
val books = Book.allBooks()
Ok(views.html.books.index(books))
}
def create() =
Action { implicit request =>
Ok(views.html.books.create(Book.bookForm))
}
def save() =
Action { implicit request =>
val book = Book.bookForm.bindFromRequest().get
Book.add(book)
Redirect(routes.BooksController.index())
Определенные маршруты
GET /books controllers.BooksController.index()
GET /books/create controllers.BooksController.create()
POST /books/create controllers.BooksController.save()
Ваша кнопка отправки должна быть внутри тега формы:
@helper.form(action=routes.BooksController.save()){
@helper.inputText(bookForm("id"))
@helper.inputText(bookForm("title"))
@helper.inputText(bookForm("price"))
@helper.inputText(bookForm("author"))
<input type = "submit" value = "Create Book" />
}
Что это значит: не работает? Вы получаете какую-то ошибку? Если да, предоставьте журнал ошибок.