2016-09-02 8 views
0

Play Framework를 2.3.6에서 2.4.8으로 업그레이드 할 때 첫 번째 페이지를 요청하는 런타임 오류가 발생합니다.2.4로 업그레이드 할 때 Play Framework Forms 유형이 일치하지 않습니다

import play.api.data._ 

... 

Ok(html.account.changePassword(passwordForm, "Change password", user)) 

그리고 내보기에이 라인 (password.scala.html) : 내 컨트롤러에서이 라인에 관련

type mismatch; 
found : play.api.data.Form[controllers.Account.PasswordData] 
required: play.data.Form[controllers.Account.PasswordData] 

지금

@(passwordForm: Form[controllers.Account.PasswordData], title: String, user: User)(implicit flash: play.api.mvc.Flash) 

은 그 플레이가 플레이를 사용하는 것 .data.Form을 가져 오면보기에서 양식이라는 용어 만 사용하십시오.

이 문제를 해결하는 가장 좋은 방법은 무엇입니까? play.api.data.Form을보기로 하드 코딩해야합니까? 또는 Account.scala의 Form 객체를 play.data.Form으로 변경하십시오.

그리고 play.api.data.Form과 play.data.Form의 차이점은 무엇입니까?

감사합니다.

+0

이 '수입 play.data._'와 가져 오기 문제가 해결 교체하지나요? –

+0

지금 템플릿 파일에서 명시 적 가져 오기를 시도하고 있습니다. 아직 작동하는지 아직 안다. – skovmand

+0

기본 가져 오기가 지정된 중앙 위치가 있는지 궁금합니다. – skovmand

답변

0

해결되었습니다. 실수로 Java API를 사용하도록 재생을 구성했습니다. Java API에서 Form 클래스는 play.data.Form이지만 Scala API에서는 play.api.data.Form입니다.

그것은이 줄에 build.sbt 구성으로 이루어졌다

:

lazy val root = (project in file(".")).enablePlugins(PlayScala, PlayEbean) 
+0

그런 다음 스칼라 프로젝트를 올바르게 수행하고 있습니까? 자바가 아닌가 ?? 자바라고 생각했습니다. :) –