如何用两个或多个参数建立一个url?
我有个案例课:
case class PageDetail(index: String, id: String)我在试着做菜单val:
val menu = Menu.params[(String,String)]( "pageDetail", "Page Detail",
ids => { case Full(index) :: Full(id) :: Nil => Full((index, id))},
pi => { case (index, id) => index :: id :: Nil }) / "admin" / "detail"我想获得一个链接,如./admin/detail/ indexxxxxxx / idddddddddd,其中indexxxxxxx和idddddddddd是我的params。因为这是行不通的。编译时出错。我该怎么做?谢谢
发布于 2013-11-28 13:15:54
最有可能的是,问题在你的提取器模式中。当您在列表中进行匹配时,请在这里:
case Full(index) :: Full(id) :: Nil => Full((index, id))参数总是要定义的,所以Full是不可能的。您可以使用函数(如AsInt )要求参数为Int,否则它将查找字符串。您很可能希望从以下几个方面开始(或对此进行一些更改):
case index :: id :: Nil => Full((index, id))如果使用空表示参数是可选的,则只需在参数省略后添加第二个case语句即可。
另外,您可能需要将/ **添加到/ "admin" / "detail"映射的末尾,以便它知道从那里获取参数。
因此,代码应该如下所示:
val menu = Menu.params[(String,String)]( "pageDetail", "Page Detail",
{
case index :: id :: Nil => Full((index, id))
}, {
case (index, id) => index :: id :: Nil
}
) / "admin" / "detail" / **https://stackoverflow.com/questions/20264888
复制相似问题