简单表单 - 自定义输入无法识别

时间:2017-10-11 17:40:12

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

所以我想要为一个简单的表单定义一个自定义输入组件,并具有以下内容:

# app/inputs/gds_input.rb
class GdsInput < SimpleForm::Inputs::Base
  def input(wrapper_options = nil)
    binding.pry
  end
end

然后在表格中我有以下内容:

<%= builder.simple_fields_for :registration, registration do |reg| %>
  <fieldset>
    <%= reg.input :first_name, required: true, input_html: { maxlength: 40, class: 'gds-Input' }, as: :gds_input %>
  </fieldset>
<% end %>

但是我在运行时遇到No input found for gds_input错误。

对于我没有考虑到的那些想法?

1 个答案:

答案 0 :(得分:1)

您的自定义类必须具有后缀Input,并且要使用它,您必须从该类名的underscore版本中删除该后缀。

在你的情况下:

# class name is GdsInput
reg.input :first_name, {...}, as: :gds