extend form builder with error messages
This commit is contained in:
@@ -25,7 +25,7 @@
|
||||
+grid-column($columns: 9, $last-column:true)
|
||||
&.half
|
||||
+grid-column(6)
|
||||
.error
|
||||
.error, .error-message
|
||||
color: $alert-color
|
||||
&.form-actions
|
||||
padding-top: 12px
|
||||
|
||||
@@ -11,6 +11,7 @@ class CustomFormBuilder < ActionView::Helpers::FormBuilder
|
||||
)
|
||||
t.content_tag(:div, elements.inject(&:+), class: 'form-actions')
|
||||
end
|
||||
|
||||
def row(attribute, options={}, &block)
|
||||
t = @template
|
||||
classes = []
|
||||
@@ -19,5 +20,15 @@ class CustomFormBuilder < ActionView::Helpers::FormBuilder
|
||||
classes << 'error' if object.errors[attribute].present?
|
||||
t.content_tag(:div, t.capture(&block), class: classes)
|
||||
end
|
||||
|
||||
def error_message(attribute, options={}, &block)
|
||||
if errors = object.errors[attribute].presence
|
||||
t = @template
|
||||
classes = ['error-message']
|
||||
classes << attribute
|
||||
classes |= Array.wrap(options[:class])
|
||||
t.content_tag(:span, options[:message] || errors.join(', '), class: classes)
|
||||
end
|
||||
end
|
||||
end
|
||||
ActionView::Base.default_form_builder = CustomFormBuilder
|
||||
|
||||
Reference in New Issue
Block a user