【发布时间】:2018-07-11 01:12:22
【问题描述】:
书籍控制器:
val bookForm = Form(
tuple(
"id" -> number,
"title" -> text,
"price" -> number,
"author" -> text
)
)
def edit(Id: Int) = Action {
val book: Book = Book.findById(Id)
Ok(views.html.edit())
}
def update(Id: Int) = Action {
implicit request =>
val (id, title, price, author) = bookForm.bindFromRequest.get
val book: Book = Book.findById(id)
book.id = id
book.title = title
book.price = price
book.author = author
Redirect(routes.BooksController.index())
}
我的编辑视图:
<html>
<head>
<title>Form example</title>
</head>
<body>
<form method="post" autocomplete="on">
Id: <input type="text" name="id"><br><br>
Title: <input type="text" name="title"><br><br>
Price:<input type="text" name="price"><br><br>
Author: <input type="text" name="author"><br><br>
<input type="submit">
</form>
</body>
</html>
路线:
GET /books controllers.BooksController.index
GET /books/create controllers.BooksController.create
GET /books/:id controllers.BooksController.show(id: Int)
POST /books/create controllers.BooksController.save
GET /books/edit/:id controllers.BooksController.edit(id: Int)
POST /books/edit controllers.BooksController.update
错误: play.sbt.PlayExceptions$CompilationException: 编译错误[object java.lang.ProcessBuilder.Redirect is not a value] 在 play.sbt.PlayExceptions$CompilationException$.apply(PlayExceptions.scala:34) 在 play.sbt.PlayExceptions$CompilationException$.apply(PlayExceptions.scala:34) 在 scala.Option.map(Option.scala:146) 在 play.sbt.run.PlayReload$.$anonfun$taskFailureHandler$1(PlayReload.scala:33) 在 scala.Option.map(Option.scala:146) 在 play.sbt.run.PlayReload$.taskFailureHandler(PlayReload.scala:28) 在 play.sbt.run.PlayReload$.compileFailure(PlayReload.scala:24) 在 play.sbt.run.PlayReload$.$anonfun$compile$3(PlayReload.scala:51) 在 scala.util.Either$LeftProjection.map(Either.scala:573) 在 play.sbt.run.PlayReload$.compile(PlayReload.scala:51)
【问题讨论】:
-
我在您发布的最后一个问题中回答了您的问题。如果该答案解决了您的问题,请删除此问题,因为它与您的上一个问题重复。
-
答案没有解决我的问题
标签: scala playframework