Class: MongoidForm::FormBuilder
- Inherits:
-
ActionView::Helpers::FormBuilder
- Object
- ActionView::Helpers::FormBuilder
- MongoidForm::FormBuilder
- Defined in:
- lib/mongoid_form/form_builder.rb
Constant Summary collapse
- SKIP_WRAP_FOR =
[:hidden]
Instance Method Summary collapse
- #any_errors? ⇒ Boolean
- #error_message_for(name) ⇒ Object
- #error_notification ⇒ Object
- #has_error?(name) ⇒ Boolean
- #localized_fields(field, options = {}, &block) ⇒ Object
- #localized_text_field(attribute, options = {}) ⇒ Object
- #required?(method) ⇒ Boolean
Instance Method Details
#any_errors? ⇒ Boolean
35 36 37 |
# File 'lib/mongoid_form/form_builder.rb', line 35 def any_errors? @object && @object.respond_to?(:errors) && @object.errors.present? end |
#error_message_for(name) ⇒ Object
25 26 27 28 29 |
# File 'lib/mongoid_form/form_builder.rb', line 25 def (name) if any_errors? && has_error?(name) alert { get_error(name) } end end |
#error_notification ⇒ Object
19 20 21 22 23 |
# File 'lib/mongoid_form/form_builder.rb', line 19 def error_notification if any_errors? alert { I18n::t(*wrapper.main_error_i18n_key, model: @object.class.model_name.human, count: @object.errors.size) } end end |
#has_error?(name) ⇒ Boolean
39 40 41 42 |
# File 'lib/mongoid_form/form_builder.rb', line 39 def has_error?(name) return false unless any_errors? @object.errors.[name].present? end |
#localized_fields(field, options = {}, &block) ⇒ Object
6 7 8 9 10 11 12 |
# File 'lib/mongoid_form/form_builder.rb', line 6 def localized_fields(field, = {}, &block) field_name = "#{field}_translations" object = @object.send(field_name).try(:empty?) ? nil : @object.send(field_name) name = "#{object_name}[#{field_name}]" @template.fields_for(name, object, &block).html_safe end |
#localized_text_field(attribute, options = {}) ⇒ Object
14 15 16 17 |
# File 'lib/mongoid_form/form_builder.rb', line 14 def localized_text_field(attribute, = {}) attribute, = value_field(attribute, ) text_field(attribute, ).html_safe end |
#required?(method) ⇒ Boolean
31 32 33 |
# File 'lib/mongoid_form/form_builder.rb', line 31 def required?(method) @object && @object.class.validators_on(method).map(&:class).include?(Mongoid::Validations::PresenceValidator) end |