2016-09-02 7 views
0

Play Frameworkを2.3.6から2.4.8にアップグレードすると、このランタイムエラーが発生し、最初のページをリクエストします。私の意見(password.scala.html)で2.4にアップグレードするときにPlay Frameworkフォームタイプの不一致が発生する

import play.api.data._ 

... 

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

そして、この行::私のコントローラで、このラインに関連し

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

あなたはScalaプロジェクトを正しくやっていますか? Javaではない?私はそれがJavaだと思った。 :) –

関連する問題