2012-04-24 17 views

答えて

2

編集:申し訳ありませんが、私はこれを忠実に翻訳していないと思うし、醜いです。あなたはOption(_)でそれをラップする必要があると思いますので、myobj.itemもnullになる可能性:playframeworkは、このような一般的なケースのためのいくつかの追加の砂糖を持っているかどうかわから

@Option(myobj).flatMap(i => Option(i.item)).flatMap(s => Option(s.subitem)).getOrElse("empty") 

または

@((for {o <- Option(myobj) 
     item <- Option(o.item) 
     subitem <- Option(item.subitem) 
    }).getOrElse("empty")) 

注意。

+0

最初の例を使用して、「_.item」(ドットの後に開始)に「タイプの不一致; found:models.MyModel required:Option [?]」が表示されました。 2番目の例では、 '}'を忘れてしまいました:) –

+0

'.map'だけ' .flatMap'を置き換えれば動作します!あなたはなぜ、そしてその違いは分かっていますか? –

関連する問題