有我的路线。第二个评论。Play框架。路线。错误:“没有足够的方法参数...”
GET /assets/*file controllers.Assets.at(path="/public", file)
#GET /partials/*file controllers.Assets.at(path="/public/partials", file)
(我想是:做出了位于"/public/partials"
文件夹在我的HTML文件可通过网络,因为它是为assets
做,方法相同)
只要我取消注释第二行 - 它会得到错误,因为这条线(从我index.scala.html
):
<link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/main.css")">
错误是喜欢这里:
not enough arguments for method at: (path: String, file: String)play.api.mvc.Call. Unspecified value parameter file.
问:怎么了?
UPDATE:
换句话说:我要让我的网址缩短通过提供映射。否则,我必须使用这个网址:'assets/partials/welcome.html'
而不是那个(我想要使用):'partials/welcome.html'
。
只有一个映射,这将使我的网站更短。
当我需要从JS部件到达那些应用程序时,它是有意义的,就像在一个应用程序中有两个应用程序(1.play one,2.js one),还有路由,两个根。对于JS,我假设我已经在/ public(或资产) - 这是js应用程序的根。
我想知道为什么它不起作用。
我知道,但我想通过提供该映射使我的网址更短。否则,我必须使用这个URL:'assets/partials/welcome.html'而不是那个:'partials/welcome.html'。再一个映射会让我的网站更短。当我需要从JS部分获得这些内容时,它是有意义的,就像在一个应用程序中有两个应用程序(1.play one,2. js one),还有两个路径。对于JS,我假设我已经在/ public(或资产) - 这是js应用程序的根。我想知道为什么它不起作用。 – ses
也许你已经清楚了,但是如果你为Assets.at动作定义了第二个映射,那么在使用反向路由器时你需要指定路径参数。这是因为路径现在不明确。因此,不必使用@ routes.Assets.at(“stylesheets/main.css”),而必须使用@ routes.Assets.at(“/ public”,“stylesheets/main.css”) – mantithetical
是的。我懂了。我最好使用一个路由定义,并且会在URL中增加一个单词,而不是将多个参数放到每个资源网址中。 – ses