Как использовать входную группу Bootstrap в геме simple_form - PullRequest
0 голосов
/ 15 сентября 2018

Среда

  • Рубин 2.5.1
  • Рельсы 5.2.1
  • Простая форма 4.0.1

Текущее поведение

Я следую примеру в http://simple -form-bootstrap.plataformatec.com.br / examples / input_group

Я начинаю с <%= simple_form_for app, wrapper: :input_group do |f| %> и получаю Couldn't find wrapper with name input_group,поэтому я раскомментирую

config.wrappers :input_group, tag: 'div', class: 'form-group', error_class: 'form-group-invalid', valid_class: 'form-group-valid' do |b|
    b.use :html5
    b.use :placeholder
    b.optional :maxlength
    b.optional :minlength
    b.optional :pattern
    b.optional :min_max
    b.optional :readonly
    b.use :label, class: 'form-control-label'
    b.wrapper :input_group_tag, tag: 'div', class: 'input-group' do |ba|
      ba.optional :prepend
      ba.use :input, class: 'form-control', error_class: 'is-invalid', valid_class: 'is-valid'
      ba.optional :append
    end
    b.use :full_error, wrap_with: { tag: 'div', class: 'invalid-feedback d-block' }
    b.use :hint, wrap_with: { tag: 'small', class: 'form-text text-muted' }
  end

в simple_form_bootstrap.rb

и получаю undefined method append 'для класса SimpleForm::Inputs::StringInput'.

Проблема в этом <%= f.input :subdomain, append: "example.com" %>

Как я могу это использовать, поддерживает ли это даже в simple_form?Не знаю, почему они комментируют этот кусок кода.

1 Ответ

0 голосов
/ 16 сентября 2018

создать config/initializers/simple_form_component.rb

module InputGroup
  def prepend(wrapper_options = nil)
    span_tag = content_tag(:span, options[:prepend], class: "input-group-text")
    template.content_tag(:div, span_tag, class: "input-group-prepend")
  end

  def append(wrapper_options = nil)
    span_tag = content_tag(:span, options[:append], class: "input-group-text")
    template.content_tag(:div, span_tag, class: "input-group-append")
  end
end

# Register the component in Simple Form.
SimpleForm.include_component(InputGroup)

Источник

...