سؤال
وأنا أحاول أن تعديل 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 :_*))
وأحصل على هذا الخطأ:
<اقتباس فقرة>وBoot.scala: 29: خطأ: قيمة :: لا عضوا في net.liftweb.sitemap.Menu القائمة (لوك ( "StudentLogin"، قائمة ( "studentlogin")، "الطلاب تسجيل الدخول ")) ::
اقتباس فقرة>وأي أفكار حول ما يمكن أن تقوم به خطأ؟
وشكرا.
المحلول
ويبدو أنك تحاول بناء قائمة مع سلبيات دون الحاجة قائمة فارغة في نهاية المطاف. جرب هذا بدلا
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 :_*))
نصائح أخرى
يرجى إلقاء نظرة على صفحة ويكي خريطة الموقع أيضا: HTTP: // liftweb .assembla.com / ويكي / العرض / liftweb / خريطة الموقع
وبناء الجملة خريطة الموقع الجديد والمحسن هو:
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"))
وليس باستخدام :: المشغل قد يكون أكثر قابلية للقراءة:
val entries = List(Menu(Loc("Home",
List("index"), "Home")),
Menu(Loc("StudentLogin",
List("studentlogin"), "Student Login")),
Menu(Loc("ProviderLogin",
List("providerlogin"), "Provider Login")))
لا تنتمي إلى StackOverflow