0

我正在使用 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 代码中的问题?

4

1 回答 1

1

我刚刚使用 Jade 完成了一个非常简单的 Scalatra 应用程序,它似乎按照文档工作。

编辑:我一直在使用在早期版本的 Scalatra 中生成的应用程序。

在 Scalatra 2.2.0 中,我们在 g8 框架中添加了预编译的 Scalate 模板,以在默认情况下提高生产速度。那里有一个错误project/build.scala,导致闪存上下文丢失。

将此添加到您的project/build.scalahttps ://gist.github.com/anonymous/ff40cdde1a1105970f50#file-build-scala-L37-L39

我们将立即修复 g8 模板。抱歉,添麻烦了。

于 2013-04-05T11:08:55.797 回答