【问题标题】:could not find implicit value for parameter flash: play.api.mvc.Flash找不到参数 flash 的隐含值:play.api.mvc.Flash
【发布时间】:2013-09-04 19:14:36
【问题描述】:

我的应用程序基于几个示例应用程序,但我得到了错误: 找不到参数 flash 的隐含值:play.api.mvc.Flash

(我希望闪存满足模板@(标题:字符串,用户:用户,系统:列表 [系统],currentOrderBy:Int,currentFilter:字符串)(隐式闪存:play.api.mvc.Flash) 签名,以便我可以将先前的结果传递给)

这是我给出问题的代码:

def index = IsAuthenticated { username => _ => 
    User.findByEmail(username).map { user =>
      Ok(
        html.systems.systems("Ken2::Systems",
          user,
          System.all,
          1, "%"
        )
      )
    }.getOrElse(Forbidden)
  }

在文档中它说: 如果出现错误“找不到参数 flash: play.api.mvc.Flash”的隐含值,那么这是因为您的操作没有导入请求对象。添加一个“隐式请求=>”,如下所示:

def index() = Action {   
  implicit request =>
    Ok(views.html.Application.index())
}

但是在我的代码中,我会在哪里粘贴这个隐式请求? (我的代码格式来自其中一个示例应用程序)

谢谢

【问题讨论】:

    标签: scala playframework-2.0


    【解决方案1】:

    您已使用_ 通配符屏蔽了隐式请求。据我了解 Scala,当您使用通配符时,这意味着无论它是什么都忽略它。这意味着,您不能在代码中进一步使用它。但是闪存范围需要访问请求,这就是它不起作用的原因。

    这应该可行:

    def index = IsAuthenticated { username => implicit request => 
        ...
    }
    

    【讨论】:

      猜你喜欢
      • 2011-10-17
      • 1970-01-01
      • 1970-01-01
      • 2018-06-29
      • 1970-01-01
      • 2017-04-26
      • 2019-10-16
      • 1970-01-01
      • 2017-02-02
      相关资源
      最近更新 更多