Guest User

Untitled

a guest
Mar 23rd, 2018
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.69 KB | None | 0 0
  1. ActionView::Base.field_error_proc = Proc.new do |html_tag, instance|
  2. html = ''
  3. form_fields = %w(textarea input select)
  4. tag_elements = Nokogiri::HTML::DocumentFragment.parse(html_tag).css "label, " + form_fields.join(', ')
  5.  
  6. tag_elements.each do |e|
  7.  
  8. if e.node_name.eql? 'label'
  9. html = %(#{e}).html_safe
  10. elsif form_fields.include? e.node_name
  11. e['class'] = %(#{e['class']} error)
  12. if instance.error_message.kind_of?(Array)
  13. field_error_message = instance.error_message.uniq.join(', ')
  14. else
  15. field_error_message = instance.error_message
  16. end
  17. html = %(#{e}<div class="error">#{field_error_message}</div>).html_safe
  18. end
  19.  
  20. end
  21.  
  22. html
  23.  
  24. end
Add Comment
Please, Sign In to add comment