method
    
    replace
 
  replace(obj, dont_save = false)
  public
  
    Hide source    
    
      
  
# File activerecord/lib/active_record/associations/has_one_association.rb, line 30 def replace(obj, dont_save = false) load_target unless @target.nil? || @target == obj if dependent? && !dont_save case @reflection.options[:dependent] when :delete @target.delete unless @target.new_record? @owner.clear_association_cache when :destroy @target.destroy unless @target.new_record? @owner.clear_association_cache when :nullify @target[@reflection.primary_key_name] = nil @target.save unless @owner.new_record? || @target.new_record? end else @target[@reflection.primary_key_name] = nil @target.save unless @owner.new_record? || @target.new_record? end end if obj.nil? @target = nil else raise_on_type_mismatch(obj) set_belongs_to_association_for(obj) @target = (AssociationProxy === obj ? obj.target : obj) end set_inverse_instance(obj, @owner) @loaded = true unless @owner.new_record? or obj.nil? or dont_save return (obj.save ? self : false) else return (obj.nil? ? nil : self) end end

 RSpec
RSpec Ruby on Rails
Ruby on Rails Ruby
Ruby 
   
    
 
    
    
 
  