Play无法在我的路线

时间:2016-04-12 00:25:48

标签: scala playframework

这是一个令人困惑的情况,似乎应该很简单。

我正在使用Play 2.3.4 在我的路线文件中,我有:

GET / controllers.Documentation.index
GET /assets/*file controllers.Assets.at(path="/public", file)

我的文档控制器:

object Documentation extends Controller {
  def index = Action { Ok(views.html.documentation()) }
}

我的模板documentation.scala.html

<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" type="text/css"
          href="@routes.Assets.at("stylesheets/main.css")">
</head>
</html>

这都是编译,但当我尝试访问路由/时,我得到一个包含以下消息的堆栈跟踪:

Execution exception[[RuntimeException: java.lang.NoSuchFieldError: Assets]]

如果模板中引用的routes对象没有Assets字段,这似乎是可能的,但是我无法在文档中找到这个应该有的提示发生。

奇怪的是,如果我尝试在模板中使用at的双参数形式:

<link rel="stylesheet" type="text/css"
      href="@routes.Assets.at("public", "stylesheets/main.css")">

...我收到编译错误too many arguments for method at: (file: String)play.api.mvc.Call。就好像Assets在编译时定义,但不是在运行时定义。

发生了什么事?

0 个答案:

没有答案