を再生する私はこれを持っていたルートだからプレイ2.0で2.1 Scalaの
def addTask(parentId: Option[Long]) = Action {
Ok(views.html.addTask(taskForm, parentId))
}
そして、それは働いていました。私は2.1に移行したので、これらの行について文句を言うようです:No URL path binder found for type Option[Long]. Try to implement an implicit PathBindable for this type.
基本的に、私が達成しようとしているのは、Optional[Long]
を受け入れる同じ方法に、tasks/add
経路とtasks/123/add
経路を持つことです。どのようにこれを行うにはどのようなアイデア?ありがとう。
Lighthouseの機能応答は、バグではありません。「オプションのパスパラメータを持たないため、パスバインディングのOption [Long]サポートを削除しました。あなたが好きなら、それをサポートする独自のパスバインディングを実装することができます。これまでのところ、2つの解決策があり、-1をparentIdとして渡しています。私はそれが本当に好きではありません。または、2つの異なる方法があります。この場合、おそらくもっと意味があります。 PathBindableを実装することは現時点では実現可能ではないようですので、おそらく2つの方法があると思います。
ありがとう、私はそれを報告した。あなたはバグ修正を待つことなく、望ましい動作を得る方法を知っていますか? – Laky
Ok:パスバインディングのOption [Long]サポートを削除しました。オプションのパスパラメータを持つのは意味がありません。しかし、任意の値の代わりにOptionalを渡すことは、私にとってはずっとうれしいようです。私たちが最初に選択肢を持っていた理由はそれですか?たぶん私はこの場合2つの異なるメソッドを作成します。なぜなら-1をidとして渡すよりも理にかなっているからです。 – Laky
はい、そうです、それははるかに優れています。私は彼らの決定を理解していない、なぜ、より良いURLを可能にしていた何かを削除する? –