Boot.scala在电梯里

2 scala lift

我正在尝试修改电梯中的boot.scala并遇到一个有趣的错误.这就是我目前拥有的:

val entries = Menu(Loc("Home", List("index"), "Home")) ::
    Menu(Loc("StudentLogin", List("studentlogin"), "Student Login"))  ::
    Menu(Loc("ProviderLogin", List("providerlogin"), "Provider Login")) 

    LiftRules.setSiteMap(SiteMap(entries :_*))
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Boot.scala:29:error:value ::不是net.liftweb.sitemap.Menu菜单的成员(Loc("StudentLogin",List("studentlogin"),"Student Login"))::

关于我可能做错什么的任何想法?

谢谢.

Joe*_*Joe 7

看起来你正在尝试使用cons构建一个列表,而最后没有空列表.试试这个

val entries = Menu(Loc("Home", List("index"), "Home")) ::
Menu(Loc("StudentLogin", List("studentlogin"), "Student Login"))  ::
Menu(Loc("ProviderLogin", List("providerlogin"), "Provider Login")) :: 
Nil

LiftRules.setSiteMap(SiteMap(entries :_*))
Run Code Online (Sandbox Code Playgroud)


Dav*_*lak 6

请查看SiteMap维基页面:http://liftweb.assembla.com/wiki/show/liftweb/SiteMap

新的和改进的SiteMap语法是:

def siteMap() = SiteMap(
  Menu(S ? "Home") / "index",
  Menu(S ? "About") / "about" / "index" submenus (
    Menu(S ? "Management") / "about" / "management",
    Menu(S ? "Goals") / "about" / "goals"),
  Menu("directions", S ? "Directions") / "directions" >> Hidden,
  Menu(S ? "Admin") / "admin" / "index" >> If(loggedIn_?, "You must be logged in"))
Run Code Online (Sandbox Code Playgroud)