Падрино не может использовать помощники вывода в построителе пользовательских форм.

Я пытаюсь создать собственный построитель форм, который генерирует диапазон с сообщением об ошибке. Я продолжаю получать сообщение

NoMethodError at /class/create
undefined method `content_tag' for #<Padrino::Helpers::FormBuilder::StandardFormBuilder:0x00000005aa24b8>

Вот мое расширение:

module Padrino
  module Helpers
    module FormBuilder
      class CustomFormBuilder < AbstractFormBuilder

        def errors_for(field)
          if object.errors[field.to_sym]
            error = object.errors[field.to_sym].first
            content_tag(:span, error, class: 'error')
          end
        end
      end
    end
  end
end

end

Я поместил это расширение в папку lib.


person Lee    schedule 27.12.2013    source источник
comment
почему вы открываете StandardFormBuilder вместо того, чтобы создать свой собственный? Вы читали здесь раздел «Создатели пользовательских форм»? padrinorb.com/guides/application-helpers   -  person phoet    schedule 27.12.2013
comment
@phoet спасибо за подсказку, я обновил свой вопрос, ошибка, к сожалению, осталась.   -  person Lee    schedule 27.12.2013


Ответы (1)


Вы должны include вспомогательные модули, которые вам нужны в вашем классе строителя.

module Padrino
  module Helpers
    module FormBuilder
      class CustomFormBuilder < AbstractFormBuilder
        include TagHelpers
        include FormHelpers
        include AssetTagHelpers
        include OutputHelpers

        ...your methods here...
      end
    end
  end
end
person ujifgc    schedule 28.12.2013