Scala Lift:Box openOr似乎不起作用

Scala Lift:Box openOr似乎不起作用,scala,compiler-errors,lift,Scala,Compiler Errors,Lift,我正在阅读《探索电梯》一书,并尝试了其中的一个示例片段——这里唯一的区别是我没有使用MegaProtoUser类,而是使用了我自己的一个。但是,我遇到了以下问题 以下是我的片段: User.currentUser.map(user => user.projects.flatMap(project => { bind("e", chooseTemplate("project", "entry", in), "name" -> Text(project.na

我正在阅读《探索电梯》一书,并尝试了其中的一个示例片段——这里唯一的区别是我没有使用MegaProtoUser类,而是使用了我自己的一个。但是,我遇到了以下问题

以下是我的片段:

User.currentUser.map(user =>
  user.projects.flatMap(project => {
    bind("e", chooseTemplate("project", "entry", in),
      "name" -> Text(project.name.is),
      "actions" -> {
        SHtml.link("/manageProjects", () => project.delete_!, Text("Delete")) ++ Text(" ") ++
          SHtml.link("/editProject", () => currentAccountVar(project), Text("Edit"))
      })
  })) openOr Text("You are not logged in.")
以下是编译器错误:

inferred type arguments [Seq[scala.xml.Node]{def seq: Seq[scala.xml.Node]{def companion: scala.collection.generic.GenericCompanion[Seq[Any]]}; def companion: scala.collection.generic.GenericCompanion[Seq[Any]]}] do not conform to method openOr's type parameter bounds [B >: scala.collection.mutable.Buffer[scala.xml.Node]]  

type mismatch;  found   : scala.xml.Text  required: Seq[scala.xml.Node]{def seq: Seq[scala.xml.Node]{def companion: scala.collection.generic.GenericCompanion[Seq[Any]]}; def companion: scala.collection.generic.GenericCompanion[Seq[Any]]}
如果我将openOr文本(“您未登录”)替换为open\ux!然后它就起作用了


为什么我不能在这种情况下使用openOr,这个错误意味着什么?正确的方法是什么?

错误意味着编译器需要一个序列,但只找到了一个元素。试一试

 List(Text(....))
而不仅仅是

Text(....)

我已经尝试过了,但是我得到了以下错误:类型不匹配;找到:scala.xml.NodeSeq required:Seq[scala.xml.Node]{def Seq:Seq[scala.xml.Node]{def companion:scala.collection.generic.GenericCompanion[Seq[Any]]};def companion:scala.collection.generic.GenericCompanion[Seq[Any]]}看起来编译器不知道它想要什么…我想我记得这样一个错误。。。你能把你的代码发布到一个可以让我编译的表单中吗?当然除了那一个错误……金姆,谢谢你的时间!给你:我试着尽量缩短它。