0

私のモデルには議論年があります。パラメータがデータベース 0 に挿入される形式でない場合 (nil では機能しない)、このパラメータのデフォルトは 0 です。text_field は必要に応じてレンダリングされ、パーツに含まれます。

.div-form-item
    = f.label :year, t('advert.form.year')
    = f.text_field :year, :value

レンダリングされた場合、:value => "" または :value => nil を設定する方法は?

現在の状況では、新しいフォームで 0 が表示されます (新しいアイテムを作成したい場合) が、空のフィールドを表示したいです。問題は、このフォームが項目の編集にも使用され、項目の値を設定する必要があることです。

4

1 に答える 1

1

このような場合、値が 0 の場合は空白のフィールドが表示されますが、ユーザーが年を追加していない場合は空白の値も送信されます。そのため、フォームの送信時にそれを処理する必要があります。

f.text_field(:year, :value => f.object.year.eql?(0) ? '' : f.object.year)
于 2012-12-05T23:50:00.700 に答える