在我的应用中,我的表单看起来像这样
= simple_form_for @user do |f|
= f.input :name, error: false
= f.input :surname, error: false
有没有办法避免这种重复(错误:错误)?
答案 0 :(得分:3)
如果他们都是相同的类型,那么这样的事情应该有效:
= simple_form_for @user do |f|
- [ :name , :surname ].each do |field|
= f.input field, error: false
如果没有,你可以使用哈希或其他东西,而不是数组,并指定类型。
看起来简单的表单有以下选项:
如果要将相同的选项传递给表单中的所有输入(for 例如,默认类),您可以使用:defaults选项 simple_form_for。输入调用中的特定选项将覆盖 默认值:
<%= simple_form_for @user, defaults: { input_html: { class: 'default_class' } } do |f| %>
<%= f.input :username, input_html: { class: 'special' } %>
<%= f.input :password, input_html: { maxlength: 20 } %>
<%= f.input :remember_me, input_html: { value: '1' } %>
<%= f.button :submit %>
<% end %>
来自https://github.com/plataformatec/simple_form
所以,在你的情况下:
= simple_form_for @user , defaults: { error: false } do |f|
= f.input :name
= f.input :surname
答案 1 :(得分:1)
您可以循环遍历符号数组
simple_form_for @user do |f|
[:name, :surname].each do |element|
f.input element, error: false
end
end