无论如何移动提示组件使其出现在输入之前?
当前显示的组件按以下顺序显示:标签,输入,提示,错误.我尝试添加:components选项,但这不起作用.
这是我的代码:
- <%= f.input :content,:components => [:label,:hint,:input],:as => :text,hint: 'Please 1) include your exact copy here,2) upload your copy document in the next step,or 3) describe any content services to include in our estimate.',required: true,:label => "Copy" %>
解决方法
您可以在以下位置修改config / initializers / simple_form.rb中的Inputs部分默认包装器:
- b.use :label_input
- b.use :hint,wrap_with: { tag: :span,class: :hint }
- b.use :error,class: :error }
至:
- b.use :label
- b.use :hint,class: :error }
- b.use :input
本节从默认生成的simple_form.rb的第42行开始
这将使单个复选框在出现错误时看起来有点奇怪,因此您还需要创建一个与原始配置重复的包装器版本,并将其设置为仅用于布尔输入类型.例如:
- config.wrappers :checks,class: :input,hint_class: :field_with_hint,error_class: :field_with_errors do |b|
- b.use :html5
- b.use :placeholder
- b.optional :maxlength
- b.optional :pattern
- b.optional :min_max
- b.optional :readonly
- ## Inputs
- b.use :label_input
- b.use :hint,class: :hint }
- b.use :error,class: :error }
- end
- config.wrapper_mappings = { boolean: :checks }