0

我的模型中有一个争论年。此参数默认为 0,如果该参数不是插入数据库 0 的形式(不使用 nil)。必要时会呈现 text_field 并包含在部件中。

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

如果渲染,如何设置 :value => "" 或 :value => nil?

在当前情况下,我在新表单中看到 0(当我想创建新项目时),但我想看到空字段。问题是这个表单也是用来编辑item的,需要设置item的值。

4

1 回答 1

1

如果值为 0,则类似这样的内容将显示一个空白字段,但如果用户没有添加年份,它也会提交该空白值。所以你需要在表单提交时处理它。

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