1

オプションのフォームにフィールドがありますが、それが完了したら、それが整数値であることを検証したいと思います。私のモデルには次のものがあります。

validates :number_of_employees, numericality: { only_integer: true }

これは機能しますが、値が入力されていないフォームを送信すると、数値ではないためエラーが発生します。validates ステートメントに and if 条件を入れることができると思いますが、これがこれを処理する正しい方法なのか、存在を確認する構文が何であるかはわかりません。

どんな助けでも感謝します。

4

1 に答える 1

2

オプションを使用するのではなく、:if空のフィールドが検証を通過できるようにする慣用的な方法は、:allow_blankオプションを使用することです。バリデーターを除くすべてのバリデーターに共通presenceです。

validates :number_of_employees, numericality: { only_integer: true, allow_blank: true }
于 2012-08-26T15:23:47.097 に答える