instance method create_or_find_by!

Ruby on Rails 7.1.6

Since v6.0.6

Available in: v6.0.6 v6.1.7.10 v7.0.10 v7.1.6 v7.2.3 v8.0.4 v8.1.2

Signature

create_or_find_by!(attributes, &block)

Like #create_or_find_by, but calls create! so an exception is raised if the created record is invalid.

Parameters

attributes req
block block
Source
# File activerecord/lib/active_record/relation.rb, line 228
    def create_or_find_by!(attributes, &block)
      transaction(requires_new: true) { create!(attributes, &block) }
    rescue ActiveRecord::RecordNotUnique
      if connection.transaction_open?
        where(attributes).lock.find_by!(attributes)
      else
        find_by!(attributes)
      end
    end

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

Defined in ActiveRecord::Relation

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