Question
Je suis en train de modifier le boot.scala en ascenseur et en cours d'exécution dans une erreur drôle. Voilà ce que j'ai actuellement:
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 :_*))
Je reçois cette erreur:
Boot.scala: 29: Erreur: valeur :: est pas un membre de net.liftweb.sitemap.Menu Menu (Loc ( "StudentLogin", Liste ( "studentlogin"), « étudiant Connectez-vous ")) ::
toutes les idées sur ce que je pourrais faire mal?
Merci.
La solution
On dirait que vous essayez de construire une liste avec les inconvénients sans avoir une liste vide à la fin. Essayez ceci à la place
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 :_*))
Autres conseils
S'il vous plaît jeter un oeil à la page wiki SiteMap ainsi: http: // liftweb .assembla.com / wiki / show / liftweb / SiteMap
La nouvelle syntaxe et l'amélioration SiteMap est:
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"))
Ne pas utiliser l'opérateur :: peut-être plus lisible:
val entries = List(Menu(Loc("Home",
List("index"), "Home")),
Menu(Loc("StudentLogin",
List("studentlogin"), "Student Login")),
Menu(Loc("ProviderLogin",
List("providerlogin"), "Provider Login")))