2011-01-30 18 views

答えて

85

これはあなたがあなた自身の(Railsの5)にしたい場合はXXX.find_or_initialize_by(uuid: XXXX)

+0

注:あなたが強打を使用することはできません ''演算子を! 'find_or_create_by'でできるように、' find_or_initialize_by'を使ってください。これは、オブジェクトを保存する際に問題が発生した場合には、例外を発生させるためにbangが使用されるためです。初期化時には適用されません。 –

11

をお試しください:

class ApplicationRecord < ActiveRecord::Base 

    def self.find_or_build_by hash 
    result = all.where(hash) 
    result.present? ? result : none.build(hash) 
    end 
end 
2

あるRailsの4のでXXX.find_or_initialize_by_uuid(XXXX)

関連する問題