【发布时间】:2020-07-09 18:16:12
【问题描述】:
我有一个产品表,默认 min_quantity 为 0,max_quantity 为 MAX INT 编号 999999999。 当我尝试显示此表单时,来自 backened 的默认值显示在 UI 中,min_quantity 为 0,max_quantity 为 999999999。 如何将此输入字段保留为空白以进行创建操作?
schema.rb:
create_table "products”, id: :integer, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin", force: :cascade do |t|
t.string "name", null: false
t.integer "min_quantity”, default: 0, null: false
t.integer "max_quantity”, default: 999999999, null: false
end
产品/_form.slim:
= simple_form_for([@product]) do |f|
= f.error_notification
.form-inputs
= f.input :name
= f.input :min_quantity, label: 'Minimum Quantity'
= f.input :max_quantity, label: 'Maximum Quantity'
我尝试将value : nil 用作:
-if f.object.new_record?
= f.input :min_quantity, label: 'Minimum Quantity’, input_html: {value: nil}
-else
= f.input :min_quantity, label: 'Minimum Quantity'
但是当出现验证错误时,输入的值会消失。当我使用 jQuery 时同样的问题。
那么我该如何处理在 Rails 中覆盖变黑值的问题呢?请帮忙
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-5