2012-12-12 102 views
0

我想要一個包含我的應用程序的其他部分的鏈接列表的主頁。所以,我沒有像<a href="@controllers.routes.SomeModel.show(someModel.ean)">那樣編碼hrefs,而是想創建一個Link對象,它包含一個鏈接列表,我可以通過控制器傳遞給該頁面,然後呈現每個鏈接。但我不清楚如何實際參考鏈接。如何創建鏈接列表

case class Link(name: String, route: String) 

    object Link { 
     val links = Set(Link("SomeModels", controllers.SomeModels.list.toString()), 
     Link("Products", controllers.Products.list.toString())) 

     def allLinks = links.toList 
    } 

,我想用這個像這樣:

@(links: List[Link])(implicit flash: Flash, lang: Lang) 
@main("welcome to my awesome play app") { 
<dl class="models"> 
    @for(link <- links) { 
    <dt> 
     <a [email protected]> 
      @link.name 
     </a> 
    </dt> 
    } 
</dl> 
} 

但由於那些實際鏈接到http://localhost:9000/Action(parser=BodyParser(anyContent))我怎麼能做到這一點並不明顯工作?

回答

1

你需要把「.routes」,‘控制器’之間,你控制器名稱和使用方法‘URL’:

case class Link(name: String, route: String) 

object Link { 
    val links = List(Link("SomeModels", controllers.routes.SomeModels.list.url), 
    Link("Products", controllers.routes.Products.list.url)) 

    def allLinks = links.toList 
} 

我做了一個要點與工作代碼玩耍2.0.4:https://gist.github.com/4275931

+0

很好,謝謝! – LuxuryMode