2017-03-20 17 views
0

私は2.5.10 Playアプリケーションを持っているとForm default valuesに関する資料以下、私はこのような形式を定義します。Scala-Play:フォームのデフォルト値が選択されないのはなぜですか?

@Singleton 
class ComputeInSampleForm @Inject()(implicit val messagesApi: MessagesApi) { 
    val Instance = Form { 
    mapping(
     "impliedVolSpread" -> default(of[Double], 0.02), 
     "fundingRate" -> default(of[Double], 0.0), 
     "optionType" -> default(enum(OptionType), OptionType.Call), 
     "sampleStart" -> jodaDate, 
     "sampleEnd" -> jodaDate 
    )(ComputeInSampleParameters.apply)(ComputeInSampleParameters.unapply) 
    } 
} 

が、デフォルト値は、対応するビューによってピックアップされていません。なぜどんなアイデア?あなたはまた、デフォルトを提供ComputeInSampleParametersインスタンスにform.fillを呼び出すことができ

mapping(
     "impliedVolSpread" -> default(bigDecimal(scale = s, precision = p), 0.02), 
     ... 
) 

答えて

1

Mapping sのdefaultを呼び出してみてください。

+0

奇妙なことにもうまくいかない。 'BigDecimal.valueOf(0.02)'のように2番目のパラメータを 'default'にする必要があります –

+0

提案された' form.fill'代案が機能しましたが、なぜ最初のものがうまくいかなかったのかわかりません... –

+0

私は信じていますこれは、この文脈では 'default'が何を意味するのかについて若干不明なPlayのドキュメントです。 'default'はフォーム提出**に対応するフィールドがない場合に使用する値を**指定します。ページに到着したときに表示するデフォルト値(つまり空のフォーム)を設定する場合は、form.fill()が必要です。 – millhouse

関連する問題