我目前正在使用:
XXX.find_or_create_by_uuid(XXXX)
有没有办法找到或建立?
答案 0 :(得分:90)
尝试XXX.find_or_initialize_by_uuid(XXXX)
答案 1 :(得分:17)
自Rails 4以来,这是XXX.find_or_initialize_by(uuid: XXXX)
答案 2 :(得分:2)
如果您想制作自己的(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