def belongs_to(association_id, options = {})
klass = options[:class_name] || association_id.to_s
key = options[:foreign_key] || association_id.to_s + "_id"
local_key = options[:local_key] || ''
class_eval "def \#{association_id}(objects = nil)\nobjects = @@config[:return_objects] if objects.nil?\nlocal_key = \"\#{local_key}\"\nlocal_key = dnattr() if local_key.empty?\nresults = []\n\#{klass}.find_all(:attribute => \"\#{key}\", :value => send(local_key.to_sym), :objects => objects).each do |o|\nresults << o\nend\nreturn results\nend\n"
end