ActiveRecord complete but difficult