vendor/bundle/gems/activerecord-4.0.0/lib/active_record/persistence.rb
# Updates the associated record with values matching those of the instance attributes.
# Returns the number of affected rows.
Updates the associated record with values matching those of the instance attributes.
Returns the number of affected rows.
Updates the associated record with values matching those of the instance attributes . Returns the number of affected rows .
def update_record(attribute_names = @attributes.keys)
      attributes_with_values = arel_attributes_with_values_for_update(attribute_names)
      if attributes_with_values.empty?
        0
      else
        klass = self.class
        column_hash = klass.connection.schema_cache.columns_hash klass.table_name
        db_columns_with_values = attributes_with_values.map { |attr,value|
          real_column = column_hash[attr.name]
          [real_column, value]
        }
        bind_attrs = attributes_with_values.dup
        bind_attrs.keys.each_with_index do |column, i|
          real_column = db_columns_with_values[i].first
          bind_attrs[column] = klass.connection.substitute_at(real_column, i)
        end
        stmt = klass.unscoped.where(klass.arel_table[klass.primary_key].eq(id_was || id)).arel.compile_update(bind_attrs)
        klass.connection.update stmt, 'SQL', db_columns_with_values
      end
    end
def update_record ( attribute_names = @attributes . keys ) attributes_with_values = arel_attributes_with_values_for_update ( attribute_names ) if attributes_with_values . empty? 0 else klass = self . class column_hash = klass . connection . schema_cache . columns_hash klass . table_name db_columns_with_values = attributes_with_values . map { | attr , value | real_column = column_hash [ attr . name ] [ real_column , value ] } bind_attrs = attributes_with_values . dup bind_attrs . keys . each_with_index do | column , i | real_column = db_columns_with_values [ i ] . first bind_attrs [ column ] = klass . connection . substitute_at ( real_column , i ) end stmt = klass . unscoped . where ( klass . arel_table [ klass . primary_key ] . eq ( id_was || id ) ) . arel . compile_update ( bind_attrs ) klass . connection . update stmt , 'SQL' , db_columns_with_values end end
Updates the associated record with values matching those of the instance attributes.
Updates the associated record with values matching those of the instance attributes .
attribute_names
<not_specific>
keys
<not_specific>