2017-02-01 1 views
0

Ich versuche, eine Liste mit scala und Lift zu füllen und bekomme eine Ausnahme Klasse nicht gefunden. Der Code ist direkt aus dem Lift in Action Buch.Versuchen, Liste mit Scala aufzufüllen und zu heben

Hier ist der Snippet-Code mit Dummy-Daten enthalten, was angezeigt werden soll.

import scala.xml.NodeSeq 
import net.liftweb.util.Helpers._ 
object Library { 
    case class Book(name: String) 
    case class Author(name: String, books: List[Book]) 
    val books = List(
    Author("JK Rowling", List(
     Book("Harry Potter and the Deathly Hallows"), 
     Book("Harry Potter and the Goblet of Fire")) 
    ), 
    Author("Joshua Suereth", List(
     Book("Scala in Depth")) 
    ) 
) } 
class Authors { 
def list = 
    "ul" #> Library.books.map { author => 
     ".name" #> author.name & 
     ".books" #> ("li *" #> author.books.map(_.name)) 
    } 
} 

Hier ist der HTML-Code, der eine Liste der Autoren mit ihren Büchern anzeigen sollte.

<ul lift="authors.list"> 
    <li><span class="name">Author</span> 
    <ul class="books"> 
     <li>Book title</li> 
    </ul> 
    </li> 
</ul> 

Als ich betreibe ich diesen Fehler:

Error processing snippet: authors.list 
Reason: Class Not Found 

Irgendwelche Ideen, was schief läuft?

+0

welches Paket ist Ihre Snippet befindet sich in? Wenn nicht anders konfiguriert, werden Snippets standardmäßig im Paket 'snippet' nachgeschlagen. – jcern

+0

Ich habe das tatsächlich zum Laufen gebracht. Ich hatte den Code in etwas anderes eingebettet, um zu testen, und verwendete den falschen Pfad für die Suche. Also ich denke, das kann geschlossen werden. –

Antwort

0

Die Autoren benötigen ein Großbuchstabe A, um dem Objektnamen zu entsprechen.

Muss

werden

<ul lift="Authors.list"> ... </ul>

Verwandte Themen