Rails has a dynamic method where you can do find_or_create_by_attr_name(attr) but it the method names get incredibly long very quickly. So SJS wrote "this article":http://sami.samhuri.net/2007/4/11/activerecord-base-find_or_create-and-find_or_initialize in which he tries to remedy the situation. His solution was pretty elegant but it still only worked for fields that were already defined in the database; if you often redefine setter methods it doesn't work at all. Here's my attempt to remedy the situation. h3. Newb instructions Create a file called active_record_extensions.rb in your the lib directory. Then add `require 'active_record_extensions'` to your environment.rb at the bottom (without the ``). Restart your server and see what happens!