سؤال

وأنا أحاول أن تعديل 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")))
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top