2016-01-02 28 views
0

當我有例如index.scala.html和父模板main.scala.html子模板,和我使用的代碼,包括父模板:如何從包括在遊戲框架的任何目錄的父模板

@main("MyApp") {} 

此模板包含正確。但是,當我移動index.scala.html到目錄中,例如Location並試圖包括使用代碼父模板:

@views.main("MyApp") {} 

這是行不通的。我views目錄的

index.scala.html

結構:

structure

我得到錯誤:

[error] /Users/dev/project/app/scala/pl/moody/views/Location/index.scala.html:1: object main is not a member of package views 
[error] @views.main("Moody") { 
[error]  ^

回答

0

好吧,我發現工作液。正確的編譯後的html文件放在target目錄下。 在我的情況target/scala-2.11/twirl/main/scala/com/myProject/views/html/main.template.scala

鑑於我現在有這個目錄,我可以把它添加到我的index.scala.html,它會看起來

@scala.com.myProject.views.html.main("MyApp") { 

} 

和相同的URL將被渲染HTML代碼控制器:

def index = Action { 
    Ok(scala.com.myProject.views.html.main("MyApp")) 
    } 
1

你並不需要使用views前綴,它是自動進口,所以即使孩子被放在subdir中,你也應該使用@main("MyApp") ectories。

+0

謝謝,爲答案。我認爲這兩種解決方案都可行。我認爲這是IntelliJ中的一些東西,因爲即使我在模板中有'@main(「MyApp」)',並且它可以工作,IDE將顯示'無法解析符號main' – ssuperczynski

1

我幾乎同樣的問題,我解決了通過像這樣完整的路徑稱之爲:

@views.html.admin("Admin Interface") { 

} 

嘗試調用它像:

@views.html.main("MyApp") {}