私はscalaでプレイフレームワークを使用しており、
私は何をしていますか:
- Web アプリにログインするためのログイン ページ
- Web アプリに登録するサインアップ ページ
- ログイン後、すべてのデータベースの値をユーザーに保存したい
私がやりたいこと:
ユーザーがWebアプリに登録すると、現在の日時でユーザー値をデータベースに保存したいのですが、フォームでエラーが発生します。
エラー:
List(FormError(dates,error.required,List())),None)
コントローラー/Application.scala
object Application extends Controller {
val ta:Form[Keyword] = Form(
mapping(
"id" -> ignored(NotAssigned:Pk[Long]),
"word" -> nonEmptyText,
"blog" -> nonEmptyText,
"cat" -> nonEmptyText,
"score"-> of[Long],
"summaryId"-> nonEmptyText,
"dates" -> date("yyyy-MM-dd HH:mm:ss")
)(Keyword.apply)(Keyword.unapply)
)
def index = Action {
Ok(html.index(ta));
}
def newTask= Action { implicit request =>
ta.bindFromRequest.fold(
errors => {println(errors)
BadRequest(html.index(errors))},
keywo => {
Keyword.create(keywo)
Ok(views.html.data(Keyword.all()))
}
)
}
モデル/キーワード.scala
case class Keyword(id: Pk[Long],word: String,blog: String,cat: String,score: Long, summaryId: String,dates: Date )
object Keyword {
val keyw = {
get[Pk[Long]]("keyword.id") ~
get[String]("keyword.word")~
get[String]("keyword.blog")~
get[String]("keyword.cat")~
get[Long]("keyword.score") ~
get[String]("keyword.summaryId")~
get[Date]("keyword.dates") map {
case id~blog~cat~word~score~summaryId~dates => Keyword(id,word,blog,cat,score, summaryId,dates)
}
}
def all(): List[Keyword] = DB.withConnection { implicit c =>
SQL("select * from keyword").as(Keyword.keyw *)
}
def create(key: Keyword){DB.withConnection{implicit c=>
SQL("insert into keyword values({word},{blog}, {cat}, {score},{summaryId},{dates})").on('word-> key.word,'blog->key.blog,
'cat -> key.cat,
'score-> key.score,
'summaryId -> key.summaryId,
'dates->new Date()).executeUpdate
}
}
ビュー/index.scala.html
@(taskForm: Form[Keyword])
@import helper._
@main("Todo list") {
@form(routes.Application.newTask) {
@inputText(taskForm("word"))
@inputText(taskForm("blog"))
@inputText(taskForm("cat"))
@inputText(taskForm("score"))
@inputText(taskForm("summaryId"))
<input type="submit">
<a href="">Go Back</a>
}
}
日付をmysqlデータベースに保存するアイデアを教えてください。日付はフォームのフィールドではありません