私は現在使用しています: Rails - 検索または作成 - 検索またはビルドはありますか?
XXX.find_or_create_by_uuid(XXXX)
は見つけるまたはビルド実行する方法はありますか?
私は現在使用しています: Rails - 検索または作成 - 検索またはビルドはありますか?
XXX.find_or_create_by_uuid(XXXX)
は見つけるまたはビルド実行する方法はありますか?
これはあなたがあなた自身の(Railsの5)にしたい場合はXXX.find_or_initialize_by(uuid: XXXX)
をお試しください:
class ApplicationRecord < ActiveRecord::Base
def self.find_or_build_by hash
result = all.where(hash)
result.present? ? result : none.build(hash)
end
end
あるRailsの4のでXXX.find_or_initialize_by_uuid(XXXX)
注:あなたが強打を使用することはできません ''演算子を! 'find_or_create_by'でできるように、' find_or_initialize_by'を使ってください。これは、オブジェクトを保存する際に問題が発生した場合には、例外を発生させるためにbangが使用されるためです。初期化時には適用されません。 –