def construct_quoted_owner_attributes(reflection)
if as = reflection.options[:as]
{ "#{as}_id" => @owner.class.quote_value(
@owner[reflection.active_record_primary_key],
reflection.klass.columns_hash["#{as}_id"]),
"#{as}_type" => reflection.klass.quote_value(
@owner.class.base_class.name.to_s,
reflection.klass.columns_hash["#{as}_type"]) }
elsif reflection.macro == :belongs_to
{ reflection.klass.primary_key => @owner.class.quote_value(@owner[reflection.primary_key_name]) }
else
column = @owner.class.columns_hash[reflection.active_record_primary_key]
{ reflection.primary_key_name => @owner.class.quote_value(@owner[reflection.active_record_primary_key], column) }
end
end