我有一个应用程序,我正在尝试升级到 Play 2.0.2(从 Play 2.0.1)。我有这段代码可以在 Play 2.0.1 上运行,但现在不再可用
@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
这已在邮件列表中注意到,一位用户已解决此问题。我知道有一些隐式参数需要传递,但我不知道该怎么做。我尝试根据提到的示例文件将(?)这个添加到我的模板中,基本上将我的模板第一行从
@(currentUser: User, inviteForm: Form[controllers.Contacts.InviteForm])
至
@(currentUser: User, inviteForm: Form[controllers.Contacts.InviteForm])(implicit request: RequestHeader)
但这似乎改变了模板的类型签名(?),这不是我想要发生的。
有什么建议么?带有 (?) 的所有内容都是我不完全确定的。我以前在 Scala 中使用过一些隐式转换,但我不确定 Play 在这里对我的期望是什么,以及我是否犯了 scala 或 play 错误。
编辑:bugtracker中有相应的票证。