反应光滑未来响应未呈现播放模板

时间:2016-01-01 18:18:50

标签: scala playframework playframework-2.0 slick slick-3.0

我正在开发Slick 3 + Play Framework和Scala。我不知道为什么我的Play模板没有渲染我第一次从Slick DB调用获取的数据。当我再次刷新同一页面时,它显示数据但无法第一次渲染。

这是我的代码,

Slick DB call:

def findByAccessToken(Id: String): Future[Option[Organization]] = 
db.run(orgs.filter(_.Id=== Id).result.headOption)

控制器动作呼叫:

def getOrgInfo = Action.async { request =>

val maybeOrg = for {
  org <- orgDAO.findByAccessToken(request.session.get("oauthAccessToken").get)
} yield org

maybeOrg.map {
  case org =>
    org match {
      case Some(c) => Ok(views.html.account(c))
      case None => NotFound
    }
}

最终播放模板代码:

@(Org: Organization)
@container("Org Info") {

<h1>Org Information</h1>

<ul>

    <li>
        User Id: @Org
    </li>
</ul>

}

看起来当我第一次加载我的页面时,db调用还没有传递结果,但因为当我刷新它时会显示数据。

如何首次处理此场景和渲染数据?

谢谢

1 个答案:

答案 0 :(得分:0)

可能这与模板没有任何关系。您可以添加一些调试语句来验证。也许在第一个请求被解雇时,令牌不存在?