On Feb 22, 6:25 pm, David Bernard <[email protected]> wrote:
> On Sun, Feb 22, 2009 at 10:20, babysnakes <[email protected]> wrote:
>
> > Phew, that was hard
>
> > I've found the problem. In the TD.scala class I had:
> > def add(form: NodeSeq) {
> > ...
>
> return type is Unit (  == void in java/C)
> the explicit version :
>   def add(form: NodeSeq) : Unit = {
>
> => nothing to display
Thanks. That's explain it.

Bye

>
> > But I should have had:
> > def add(form: NodeSeq) = {
> > ...
>
> return type is infered from your last expression
>
> the explicit version (in case you return a NodeSeq (html fragment) :
>   def add(form: NodeSeq) : NodeSeq = {
>
> => a xml fragment to display
>
>
>
> > I'm still a complete scala newbie so I don't even sure what's the
> > difference
> > but I've just started reading the scala book, so I guess I'll catch it
> > soon enough.
>
> > Thanks.
>
> > On Feb 22, 1:21 am, babysnakes <[email protected]> wrote:
> > > Hi
>
> > > I'm trying to run the starting guide with version 0.10. When I got to
> > > the ToDo section (2.11), I got the error above. The page renders all
> > > the <todo:...> tags instead of replacing them with the 'toForm'
> > > method.
>
> > > Here is my relevant files:
>
> > >  TD.scala
> > > =======
> > > package lift.workshop.snippet
>
> > > import lift.workshop._
> > > import model._
>
> > > import net.liftweb._
> > > import http._
> > > import SHtml._
> > > import S._
>
> > > import js._
> > > import JsCmds._
>
> > > import mapper._
> > > import util._
> > > import Helpers._
>
> > > import scala.xml.{NodeSeq, Text}
>
> > > class TD {
> > >   def add(form: NodeSeq) {
> > >     val todo = ToDo.create.owner(User.currentUser)
>
> > >     def checkAndSave(): Unit =
> > >       todo.validate match {
> > >         case Nil => todo.save; S.notice("Added " + todo.desc)
> > >         case xs => S.error(xs); S.mapSnippet("TD.add", doBind)
> > >       }
>
> > >     def doBind(form: NodeSeq) =
> > >       bind("todo", form,
> > >         "priority" -> todo.priority.toForm,
> > >         "desc" -> todo.desc.toForm,
> > >         "submit" -> submit("New", checkAndSave))
>
> > >     doBind(form)
> > >   }
>
> > > }
>
> > > index.html
> > > ========
> > > <lift:surround with="default" at="content">
> > >     <lift:Util.out>Please
> > >         <lift:menu.item name="Login">Log In</lift:menu.item>
> > >     </lift:Util.out>
> > >     <lift:Util.in>
> > >         <lift:TD.add form="post">
> > >             <table>
> > >                 <tr>
> > >                     <td>Description:</td>
> > >                     <td><todo:desc>To Do</todo:desc></td>
> > >                 </tr>
> > >                 <tr>
> > >                     <td>Priority:</td>
> > >                     <td><todo:priority>
> > >                         <select><option>1</option></select>
> > >                     </todo:priority></td>
> > >                 </tr>
> > >                 <tr>
> > >                     <td>&nbsp;</td>
> > >                     <td>
> > >                         <todo:submit>
> > >                             <button>New</button>
> > >                         </todo:submit>
> > >                     </td>
> > >                 </tr>
> > >             </table>
> > >         </lift:TD.add>
> > >     </lift:Util.in>
> > > </lift:surround>
>
> > > = = = = = = = = = = = = = = =
>
> > > Am I missing something?
>
> > > Thanks in advance
> > > --
> > > Haim

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to