1
「Exploring Lift」の本を読んでいて、サンプルスニペットの1つを試しましたが、唯一の違いはMegaProtoUserクラスを使用せず、私自身のもの。しかし、私は以下の問題を抱えています。ここでScala Lift:Box openOrが機能していないようです
は私のスニペットです:
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]]}
私はopen_とopenOrテキストを( "あなたはログインしていません。")を交換した場合!それは動作します。
このコンテキストでopenOrを使用できないのはなぜですか?このエラーは何を意味しますか?それを行う正しい方法は何ですか?
私はすでに試みたが、その後、私は次のエラーを取得してみてください。 型の不一致を。 found:scala.xml.NodeSeq required:Seq [scala.xml.Node] {def seq:Seq [scala.xml.Node] {def companion:scala.collection.generic.GenericCompanion [Seq [Any]]};コンパイラが望んでいるものがわからないようです... –
私はこのようなエラーを覚えていると思います...あなたのコードを投稿することができますか?私はそれをコンパイルできるフォーム?その1つのエラーを除いて... –
キム、あなたの時間のおかげで!ここに行く:https://gist.github.com/1118420私はできるだけそれを短縮しようとしました。 –