내 응용 프로그램의 관계를 통해 has_many :가 많습니다. 나는 연결된 객체의 수와 같은 이것에 관련된 정보를 보여주는 확장 기능입니다. 사용자가 릴레이션을 업데이트 할 때마다 조인 테이블이 수정되고 필자는이 스 와이프를 잡을 수 있습니다. 테이블 항목에 가입has_many : through, cache, touch 및 counter_cache와 관련된 문제
문제는이 가을 삭제하지 는을 파괴했다. 관계가 사라지면이를 감지 할 수있는 방법이 없으며 캐시에서 오해의 소지가있는 정보를 표시하고 있습니다. touch => true 또는 : counter_cache => true는 부분적으로 작동합니다. 관계가 업데이트되거나 생성되면 증가합니다. 그러나 사용자가 관계를 제거하면 아무 일도 일어나지 않습니다. counter_cache가 깨졌습니다. 터치가 트리거되지 않습니다.
가비지 솔루션은 주 모델이 저장 될 때 컨트롤러의 .touch를 호출하는 것입니다. 이런 종류의 작품이지만, 실제로 비 전문가 인 것처럼 보입니다. 이것은 컨트롤러가 아닌 모델 논리에 있어야합니다.
나는 커다란 것을 놓치고있는 것처럼 느껴진다. 그러나 이것에 대해 내 머리를 기울이지 않는다. 누구나이 문제에 대한 통찰력을 가질 수 있습니까?
조인 모델 ('authorships')에 대한 콜백을 원하면 관련 모델 ('authors')에'dependent : : destroy'를 추가하면됩니다. – tight