我正在使用Scalatra创建应用程序,我正在使用Scalate / Jade进行模板化。我尝试为我的应用程序添加Flash支持。我将FlashMapSupport
混合到我的Servlet中,我可以访问flash
帮助器。无论如何,如果我试图从布局中获取它,我会收到以下错误:
[error] /home/ytaras/projects/scala/scalatra-shopping-cart/target/scala-2.10/src_managed/main/scalate/templates/layouts/default_jade.scala:27: not found: value flash
[error] flash.get("alert").foreach
[error] ^
[error] one error found
我能做的最好的办法就是使用向下转换来渲染上下文:
- context.asInstanceOf[org.scalatra.scalate.ScalatraRenderContext].flash.get("alert").foreach
- alert =>
.alert
.button(type="button" class="close" data-dismiss="alert") ×
= alert
无论如何,这绝对不是一个最漂亮的解决方案。我可以做些什么来修复它,或者它是Scalate / Jade代码中的一个问题?
答案 0 :(得分:1)
我刚刚使用Jade完成了一个非常简单的Scalatra应用程序,它似乎按照文档工作。
编辑:我一直在使用早期版本的Scalatra中生成的应用。
在Scalatra 2.2.0中,我们在g8骨架中添加了预编译的Scalate模板,默认情况下可以提高生产速度。 <{1}}中存在错误,导致闪存上下文丢失。
将此添加到您的project/build.scala
:https://gist.github.com/anonymous/ff40cdde1a1105970f50#file-build-scala-L37-L39
我们会暂时修复g8模板。抱歉,麻烦。