1
아래 코드를 사용하여 새 레코드를 만들거나 기존 레코드를 업데이트합니다. 만들기가 작동하며 업데이트가 아닙니다.레일 first_or_initialize 레코드를 업데이트하지 않습니다
Signup.find_or_initialize_by(email: "[email protected]") do |signup|
signup.name = "John Doe"
signup.save
end
#Signup.find(email: "[email protected]").name = nil
save
도 레코드를 업데이트하는 이유는 확실하지 않습니다. FWIW, 작동하지 않았던 차이점을 다른 구문으로 시도했지만 find_or_initialize
블록 버전을 유지하고 싶습니다.
signup = Signup.find_or_initialize_by(email: "[email protected]")
signup.name = "John Doe"
signup.save
#Signup.find(email: "[email protected]").name = "John Doe"