simple_form - 覆盖默认输入"类型"映射

mah*_*off 7 ruby-on-rails simple-form ruby-on-rails-4 simple-form-for

simple_form在输入字段上为任何整数属性生成"type ='number'",而不是type ='text'.由于这会导致Chrome显示计数器控件,我宁愿只使用type ='text'作为数字的默认值.

似乎可以覆盖config/intializers/simple_form.rb中的默认值,但是从文档中不清楚如何准确地执行此操作.将数字列/属性设置为type ='text'的语法是什么?

TK-*_*421 12

您可以通过指定输入类型来基于每个字段覆盖默认映射:

<%= f.input :age, as: :string %>
Run Code Online (Sandbox Code Playgroud)

(完整的映射列表在这里.)

但是,如果要从项目中消除数字输入,请尝试:

# config/initializers/simple_form.rb (before/after the SimpleForm.setup block, if this exists) 
module SimpleForm
  class FormBuilder < ActionView::Helpers::FormBuilder
    map_type :integer, :decimal, :float, to: SimpleForm::Inputs::StringInput
  end
end
Run Code Online (Sandbox Code Playgroud)