我有一個應用程序,我試圖升級到Play 2.0.2(從Play 2.0.1開始)。我有這段代碼製作播放2.0.1,但已經不JavaScriptRouter在Play 2.0.2中的使用
@javascriptRouter("jsRoutes")(
routes.javascript.Contacts.invite,
routes.javascript.Contacts.remove
)
編譯器會抱怨:
[error] /myprojectdir/target/scala-2.9.1/src_managed/main/views/html/Contacts/list.template.scala:75: Cannot find any HTTP Request Header here
[error] """),_display_(Seq[Any](/*41.2*/javascriptRouter("jsRoutes")(
[error] ^
[error] one error found
[error] {file:/myprojectdir/}projectname/compile:compile: Compilation failed
[error] Total time: 9 s, completed 11.07.2012 11:38:51
這已經注意到了郵件列表,以及一個用戶擁有fixed the problem。我知道有一些隱含的參數需要傳遞,但我不知道如何做到這一點。我根據所提example file嘗試添加(?),這樣,我的模板,基本上改變了我的模板第一行從
@(currentUser: User, inviteForm: Form[controllers.Contacts.InviteForm])
到
@(currentUser: User, inviteForm: Form[controllers.Contacts.InviteForm])(implicit request: RequestHeader)
但這似乎改變模板類型簽名( ?),這並不是我想要發生的事情。
有什麼建議嗎?所有與(?)都是我不完全確定的東西。我曾經在Scala中進行過一些隱式轉換,但我不確定Play在這裏對我的期望是什麼,以及我是否在製作scala或玩弄錯誤。
編輯:在the bugtracker有相應的票。
我可以從View中做什麼?我正在使用Java控制器,因此做任何隱含的操作都不會在那裏工作。 – msung 2012-08-03 16:20:59