Class: Formal::FormBuilder
- Inherits:
-
ActionView::Helpers::FormBuilder
- Object
- ActionView::Helpers::FormBuilder
- Formal::FormBuilder
- Defined in:
- lib/formal/form_builder.rb
Overview
Public: Adds functionality to rails form builder
Instance Method Summary collapse
- #check_box_with_label(method, text = nil, *args) ⇒ Object
-
#label(method, text = nil, options = {}, &block) ⇒ Object
Public: renders html label element.
Instance Method Details
#check_box_with_label(method, text = nil, *args) ⇒ Object
36 37 38 39 40 |
# File 'lib/formal/form_builder.rb', line 36 def check_box_with_label(method, text = nil, *args) text = text || method.to_s box = [check_box(method, *args).html_safe, text].join(" ") label(method, box, *args) end |
#label(method, text = nil, options = {}, &block) ⇒ Object
Public: renders html label element
method - String or Symbol object attribute text - String text to be rendered inside of ‘label` markup
(optional, default: nil)
options - Hash of options
:error_element - String or Symbol representing html element the
error markup will be rendered in.
(optional, default: :span)
:hide_errors - Boolean to hide error markup if it is to be
rendered. (optional)
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/formal/form_builder.rb', line 18 def label(method, text = nil, = {}, &block) error_element = .delete(:error_element) || :span hide_errors = .delete(:hide_errors) i18n_text = I18n.t("#{object_name}.#{method}", default: '', scope: "helpers.label").presence text = i18n_text || text || method.to_s.humanize unless object.nil? || hide_errors errors = object.errors[method.to_sym] if errors.present? = errors.is_a?(Array) ? errors.first : errors error_markup = @template.content_tag(error_element, , class: 'error') text << " #{error_markup}" end end super(method, text.html_safe, , &block) end |