【问题标题】:Accessing flash map from Jade template in Scalatra从 Scalatra 中的 Jade 模板访问 Flash 地图
【发布时间】:2013-04-04 16:14:36
【问题描述】:

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

【问题讨论】:

    标签: pug scalatra scalate


    【解决方案1】:

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

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

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

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

    我们将立即修复 g8 模板。给您添麻烦了。

    【讨论】:

    • 您能否澄清一下哪些类型的信息可能会有所帮助?谢谢
    • 嗨 Yura,你能像我一样展示一下动作和视图吗?此外,如果您需要实时帮助,Freenode 上的#scalatra irc 频道中有一个非常活跃的社区。​​span>
    • 当然 - 这是我正在谈论的 git 存储库 - github.com/ytaras/scalate_shopping_cart
    • 谢谢!我现在正在与其他人一起检查这里是否存在错误,我已在独立应用程序中复制了您的示例。
    猜你喜欢
    • 1970-01-01
    • 2011-09-13
    • 1970-01-01
    • 2014-11-30
    • 1970-01-01
    • 2019-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多