--- /dev/null
+module ActiveRecord\r
+ module Reflection\r
+ class AssociationReflection\r
+ def primary_key_name\r
+ return @primary_key_name if @primary_key_name\r
+ case\r
+ when macro == :belongs_to\r
+ @primary_key_name = options[:foreign_key] || class_name.foreign_key\r
+ when options[:as]\r
+ @primary_key_name = options[:foreign_key] || "#{options[:as]}_id"\r
+ else\r
+ @primary_key_name = options[:foreign_key] || active_record.name.foreign_key\r
+ end\r
+ @primary_key_name = @primary_key_name.to_composite_keys.to_s if @primary_key_name.is_a? Array\r
+ @primary_key_name\r
+ end\r
+ end\r
+ end\r
+end
\ No newline at end of file