有我的路線。第二個評論。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