Advertisement
Guest User

Untitled

a guest
Jun 17th, 2012
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Rails 0.69 KB | None | 0 0
  1.   class FormBuilder < ActionView::Helpers::FormBuilder
  2.     CSS_ERROR_CLASS = 'c1'
  3.     ERRORABLE_FIELDS = [:label, :text_field, :text_area, :check_box, :radio_button]
  4.  
  5.     ERRORABLE_FIELDS.each do |field|
  6.      class_eval %Q{
  7.         alias :original_#{field} #{field}
  8.         def #{field} (*args, &block)
  9.           if object and object.errors and object.errors.include?(args[0])
  10.             ps = method(:original_#{field}).parameters
  11.             index = ps.index{|a| a[1] == :options }
  12.             args[index] ||= {}
  13.             args[index][:class] ||= ""
  14.             args[index][:class] += " #{CSS_ERROR_CLASS}"
  15.           end
  16.           super(*args, &block)
  17.         end
  18.       }
  19.     end
  20.   end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement