Created: 2008-02-09 16:39
Updated: 2017-07-25 13:12



When AR objects are saved, empty fields are saved as '' instead of nil.

  • Complicates queries for empty fields (WHERE field IS NULL OR field = '')
  • Makes the use of unless field.blank? necessary (opposed to only if field)
  • Can lead to late-detected bugs because most of the time strings were filled or '' and suddenly they are nil
  • Some validations do not support :allow_blank=>true
  • Databases can handle NULL better & faster than empty strings (especially when using LIKE)


Defines an AR before_validation that sets empty Strings to nil.


script/plugin install git:// OR
sudo gem install clear_empty_attributes


When you are switching to clear_empty_attributes, run this task to remove any '' strings/texts from your database.

rake db:clear_empty_attributes

(only works when checked out or installed as plugin)


Hereby placed under public domain, do what you want, just do not hold anybody accountable...

Cookies help us deliver our services. By using our services, you agree to our use of cookies Learn more