2012-12-12 69 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