이것은 실제 헤어 풀러입니다. 두 개의 다른 항목을 조회 할 필요가있는 junction 테이블이 있는데 값이없는 경우 접합 테이블을 갱신하십시오.레일 ActiveRecord 관계 내의 값 비교
master_actors = [#<Actor2role actorId: 13176, dogTag: 45917, roleId: 1, position: 3>, #<Actor2role actorId: 65471, dogTag: 45917, roleId: 291075, position: 1>]
slave_actors = [#<Actor2role actorId: 11123, dogTag: 5384, roleId: 44, position: 5>, #<Actor2role actorId: 65471, dogTag: 5384, roleId: 291075, position: 0>, #<Actor2role actorId: 66652, dogTag: 5384, roleId: 291073, position: 2>]
내가 그 기록의 각각의 내용을 비교해야하고 master_actors에 존재하지 slave_actors 항목이있는 경우 내가 그들을 삽입해야합니다
는 기본적으로 나는이 있습니다.내가 알 수없는 것은이 두 activeRecord 관계 객체의 내용을 비교하는 방법입니다. .include?
과 같은 일반 배열 방법은 작동하지 않습니다. master_actors.attributes == slave_actors.attributes
도 속성 메서드가 activeRecord 관계에 대해 존재하지 않는다는 오류가 발생하기 때문에 마찬가지입니다.
기본적으로 나는 정말 엉망입니다.
도움을 주시면 감사하겠습니다.
나는 교차로에 익숙하지 않다 (구글에서 지금 워드 프로세서를 찾는다). 예제를 제공 할 정도로 친절하십니까? – kakubei
제가 지금보고있는 해결책은 두 가지의 차이점에서 새로운 배열을 만드는 것입니다. 즉, 슬레이브에 대한 항목을 삭제하고 마스터 ID로 새 배열의 값을 삽입하는 것입니다. – kakubei
수학적으로 말해서 두 세트의 교차는 두 기본 세트에있는 요소만으로 구성된 세트입니다. 따라서,'slave_actors'에서 빠진'master_actors'에 요소가 존재할 수 없다는 사실을 당연한 생각으로 생각하면, 저는 이것이 속임수를 써야한다고 생각합니다. 자세한 내용은 [Array # &] (http://ruby-doc.org/core-1.9.3/Array.html#method-i-26)를 참조하십시오. – ksol