Rails - найти или создать - есть ли находка или сборка?
В настоящее время я использую:
XXX.find_or_create_by_uuid(XXXX)
Есть ли способ найти или построить?
Ответ 1
Попробуйте XXX.find_or_initialize_by_uuid(XXXX)
Ответ 2
Так как Rails 4 это XXX.find_or_initialize_by(uuid: XXXX)
Ответ 3
Если вы хотите сделать свой собственный (Rails 5):
class ApplicationRecord < ActiveRecord::Base
def self.find_or_build_by hash
result = all.where(hash)
result.present? ? result : none.build(hash)
end
end