instance method _update_row

Ruby on Rails edge

Since v5.1.7 Private — implementation detail, not part of the public API

Available in: v5.1.7 v5.2.8.1 v6.0.6.1 v6.1.7.10 v7.0.10 v7.1.6 v7.2.3.2 v8.0.5.1 v8.1.3.1 edge

Signature

_update_row(attribute_names, attempted_action = "update")

No documentation comment.

Parameters

attribute_names req
attempted_action opt = "update"
Source
# File activerecord/lib/active_record/persistence.rb, line 895
      def _update_row(attribute_names, attempted_action = "update")
        returning_columns = self.class.with_connection do |c|
          if c.supports_update_returning?
            self.class._returning_columns_for_update(c)
          else
            []
          end
        end

        if returning_columns.present?
          result = self.class._update_record_with_result(
            attributes_with_values(attribute_names),
            _query_constraints_hash,
            returning_columns
          )

          returning_values = result.rows.first

          returning_columns.zip(returning_values).each do |column, value|
            _write_attribute(column, value)
          end if returning_values.present?

          result.affected_rows
        else
          result = self.class._update_record(
            attributes_with_values(attribute_names),
            _query_constraints_hash,
          )

          result
        end
      end

Defined in activerecord/lib/active_record/persistence.rb line 895 · View on GitHub · Improve this page · Find usages on GitHub

Defined in ActiveRecord::Persistence

Type at least 2 characters to search.

Use the arrow keys to navigate results, Enter to open one, Escape to close.

Keyboard shortcuts

/
Focus search
⌘K / Ctrl-K
Command palette
?
This help
Esc
Close