Scala-PlayFramework2.5에서 2.2 시대의 todolist 튜토리얼을 해 보았다 · 그 3
2959 단어 PlayFrameworkScala
화면의 초기 표시까지 할 수 있었으므로, 나머지는 실제로 화면을 움직여 본다.
하지만 계속 들어가기 전에 지금의 상태에서
Create
버튼을 누르면 아래와 같은 에러가 된다.Unauthorized
You must be authenticated to access this page.
그래서 다음과 같은 수정을 수행합니다.
Application.scala
- def tasks = Action {
+ def tasks = Action { implicit request =>
index.scala.html
-@(tasks: List[Task], taskForm: Form[String])(implicit messsages:Messages)
+@(tasks: List[Task], taskForm: Form[String])(implicit messsages:Messages, request: RequestHeader)
...
@form(routes.Application.newTask) {
+ @CSRF.formField
@inputText(taskForm("label"))
「양식 게시 처리」장
Application.scala
의 newTask
액션 코드를 구현한다. "데이터베이스의 작업 유지"장
build.sbt
와 conf/application.conf
에 각각 이하의 설정을 추기한다. build.sbt
libraryDependencies += evolutions
libraryDependencies ++= Seq(
jdbc,
"com.typesafe.play" %% "anorm" % "2.4.0"
)
application.conf
db.default.driver=org.h2.Driver
db.default.url="jdbc:h2:mem:play"
Ctrl+D
를 눌러 서버를 중지하고 exit
명령을 사용하여 sbt를 종료합니다. 2번째 이후의 기동은 sbt run
커맨드 일발로 ok. 1.sql
를 작성한다. Apply this script now!
버튼을 누릅니다. Task.scala
의 코드를 구현한다. 이렇게하면 목록을 새로 추가 할 수 있습니다.
"작업 삭제"장
Application.scala
의 deleteTask
액션 코드를 구현한다. 이것에 의해 todo 리스트의 삭제 조작도 실시할 수 있게 된다.
그리고, 생각이나 삭제 조작에 대해서도
Unauthorized
You must be authenticated to access this page.
가 되어 버리기 때문에, 추가시와 같이 코드 수정을 실시한다.
index.scala.html
@form(routes.Application.deleteTask(task.id)) {
+ @CSRF.formField
<input type="submit" value="Delete">
이상.
Reference
이 문제에 관하여(Scala-PlayFramework2.5에서 2.2 시대의 todolist 튜토리얼을 해 보았다 · 그 3), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/12345/items/46cce376cff58197cb3a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)