Rails simple_form错误:false

时间:2014-04-15 07:12:41

标签: ruby-on-rails ruby-on-rails-4 simple-form

在我的应用中,我的表单看起来像这样

= simple_form_for @user do |f|
  = f.input :name, error: false
  = f.input :surname, error: false

有没有办法避免这种重复(错误:错误)?

2 个答案:

答案 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