Ruby on Rails | ActiveRecord에서 객체를 ==로 비교하면 모든 속성이 동일한 값인지 확인하지 않습니다.
3989 단어 RSpecRailsActiveRecord
==
는 id
가 동등한가 어떤가를 검증한다). RSpec에서는 멈추었으므로 메모.검증
# ID が同じだと true
Book.new(id: 1) == Book.new(id: 1)
=> true
# ID が違うと false
Book.new(id: 1) == Book.new(id: 2)
=> false
# ID が同じで title が違っても true
Book.new(id: 1, title: 'サピエンス全史') == Book.new(id: 1, title: 'チョコレートの世界史')
=> true
대책
모든 속성이 동일한 값인지 여부를 확인하려면 attributes를 서로 비교할까요? 더 좋은 방법이있을 것 같습니다. .
Book.new(id: 1, title: 'サピエンス全史').attributes == Book.new(id: 1, title: 'サピエンス全史').attributes
=> true
Book.new(id: 1, title: 'サピエンス全史').attributes == Book.new(id: 1, title: 'チョコレートの世界史').attributes
=> false
환경
# ID が同じだと true
Book.new(id: 1) == Book.new(id: 1)
=> true
# ID が違うと false
Book.new(id: 1) == Book.new(id: 2)
=> false
# ID が同じで title が違っても true
Book.new(id: 1, title: 'サピエンス全史') == Book.new(id: 1, title: 'チョコレートの世界史')
=> true
모든 속성이 동일한 값인지 여부를 확인하려면 attributes를 서로 비교할까요? 더 좋은 방법이있을 것 같습니다. .
Book.new(id: 1, title: 'サピエンス全史').attributes == Book.new(id: 1, title: 'サピエンス全史').attributes
=> true
Book.new(id: 1, title: 'サピエンス全史').attributes == Book.new(id: 1, title: 'チョコレートの世界史').attributes
=> false
환경
참고
Rails를 통한 애자일 웹 애플리케이션 개발 4판
Reference
이 문제에 관하여(Ruby on Rails | ActiveRecord에서 객체를 ==로 비교하면 모든 속성이 동일한 값인지 확인하지 않습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/YumaInaura/items/f8b946127f6ec888bbaf
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Ruby on Rails | ActiveRecord에서 객체를 ==로 비교하면 모든 속성이 동일한 값인지 확인하지 않습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/YumaInaura/items/f8b946127f6ec888bbaf텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)