是否有移动提示组件使其出现在输入之前?
当前显示的组件按以下顺序显示:标签,输入,提示,错误。我已经尝试添加: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" %>
答案 0 :(得分:7)
您可以在config/initializers/simple_form.rb
中修改输入部分默认包装,来自:
b.use :label_input
b.use :hint, wrap_with: { tag: :span, class: :hint }
b.use :error, wrap_with: { tag: :span, class: :error }
为:
b.use :label
b.use :hint, wrap_with: { tag: :span, class: :hint }
b.use :error, wrap_with: { tag: :span, class: :error }
b.use :input
本节从默认生成的simple_form.rb
的第42行开始这会使单个复选框在出现错误时看起来有些奇怪,因此您还需要创建一个与原始配置重复的包装器版本,并将其设置为仅用于{{1} } 输入类型。例如:
boolean
答案 1 :(得分:5)
我认为您可以省略input_field
中的提示并单独使用hint
帮助程序。请参阅simple_form docs的摘录:
Simple Form还允许您使用label,hint,input_field,error和 full_error助手(请查看每种方法的rdocs 更多信息):
<%= simple_form_for @user do |f| %>
<%= f.label :username %>
<%= f.input_field :username %>
<%= f.hint 'No special characters, please!' %>
<%= f.error :username, id: 'user_name_error' %>
<%= f.full_error :token %>
<%= f.submit 'Save' %>
<% end %>
答案 2 :(得分:0)
您只需更改初始值设定项config/initializers/simple_form.rb
的“输入”部分中的扩展名的顺序即可。
自:
## Inputs
b.use :label_input
b.use :hint, wrap_with: { tag: :span, class: :hint }
b.use :error, wrap_with: { tag: :span, class: :error }
要:
## Inputs
b.use :hint, wrap_with: { tag: :span, class: :hint }
b.use :label_input
b.use :error, wrap_with: { tag: :span, class: :error }
我不知道这是否是一项新功能。使用simple_form
3.5.0。