Sha256: 13ec8baed3b77c4f960776f1ad53b997b8f70db70452c1b279c359c0fcc8539f
Contents?: true
Size: 1.43 KB
Versions: 4
Compression:
Stored size: 1.43 KB
Contents
module ActiveRecord module Associations class BelongsToAssociation < AssociationProxy #:nodoc: def reset @target = nil @loaded = false end def create(attributes = {}) record = build(attributes) record.save record end def build(attributes = {}) record = @association_class.new(attributes) replace(record, true) record end def replace(obj, dont_save = false) if obj.nil? @target = @owner[@association_class_primary_key_name] = nil else raise_on_type_mismatch(obj) unless obj.nil? @target = obj @owner[@association_class_primary_key_name] = obj.id unless obj.new_record? end @loaded = true return (@target.nil? ? nil : self) end private def find_target if @options[:conditions] @association_class.find_on_conditions(@owner[@association_class_primary_key_name], interpolate_sql(@options[:conditions])) else @association_class.find(@owner[@association_class_primary_key_name]) end end def foreign_key_present !@owner[@association_class_primary_key_name].nil? end def target_obsolete? @owner[@association_class_primary_key_name] != @target.id end def construct_sql # no sql to construct end end end end
Version data entries
4 entries across 4 versions & 1 rubygems