1 require 'active_record'
3 class ActiveRecord::Base
4 def self.object_id_attr(symbol, klass)
7 if @#{symbol}.nil? or (@old_#{symbol}_id != #{symbol}_id)
8 @old_#{symbol}_id = #{symbol}_id
9 klass = #{klass}.descendants.find { |d| d.#{symbol}_name == #{symbol}_id }
11 @#{symbol} = klass.new