Frage

Ich versuche, die boot.scala in Lift und läuft in einem lustigen Fehler zu ändern. Dies ist, was ich derzeit haben:

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 :_*))

ich diesen Fehler:

  

Boot.scala: 29: Fehler: Wert :: ist nicht   ein Mitglied der net.liftweb.sitemap.Menu       Menu (Loc ( "StudentLogin", List ( "studentlogin"), „Student   Login ")) ::

irgendwelche Ideen, was ich tun könnte falsch?

Danke.

War es hilfreich?

Lösung

Sieht aus wie Sie versuchen, eine Liste mit cons zu bauen, ohne am Ende eine leere Liste mit. Versuchen Sie stattdessen

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 :_*))

Andere Tipps

Bitte nehmen Sie sich einen Blick auf die SiteMap Wiki-Seite auch: http: // liftweb .assembla.com / wiki / show / liftweb / SiteMap

Die neue und verbesserte SiteMap Syntax:

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"))

Nicht mit dem Operator :: könnte besser lesbar sein:

val entries = List(Menu(Loc("Home", 
                        List("index"), "Home")),
                   Menu(Loc("StudentLogin", 
                        List("studentlogin"), "Student Login")),
                   Menu(Loc("ProviderLogin", 
                        List("providerlogin"), "Provider Login")))
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top