singular_collection_ids 속성 (관계 유형은 has_many에서까지입니다)을 업데이트 할 수있는 양식이 레일스 앱에 있습니다. 또한 업데이트 전에 유효성을 검사해야합니다.레일 singular_collection_ids 확인
유효성 검사 문제는 이전 객체 값이 필요하지만 singular_collection_ids_was이 값을 제공 할 방법이 없습니다. 또한 singular_collection_ids 방법은 직접으로 도움이되지 않았다 그래서
self.class.find(id).singular_collection_ids
검증 안에, 아니 임시 값을 가진 테이블을 조인 작품.
유효성 검사 단계에서 이전 값을 얻을 수있는 방법이 있습니까?
무엇을이 목표로 달성하려고합니까? 아마도 'singular_collection_ids'를 사용하는 것보다 다른 방법이있을 수 있습니다. –
필자의 경우 - 두 개의 모델이 있습니다 : ** 플레이어 ** 및 ** 업적 ** 그들은 ** JoinModel ** 모델을 통해 서로 링크됩니다. 따라서 플레이어와 업적 편집 폼 모두에서 링크 된 모델의 체크 박스가 있습니다. 따라서 플레이어 배열을 플레이어에게 보여 주거나 업적을 배열 할 수 있습니다. 그래서 그것은 다음과 같이 보입니다 :'Player.find (blabla) .achievement_ids = [2,3,4]'. 그리고 응용 프로그램 논리에 의해 나는이 필드 (achievement_ids 또는 player_ids)의 이전 데이터를 확인해야합니다 – exdee
이 순간에 문제를 해결할 수있는 유일한 방법은 ** singular_collection_ids = ** 메소드를 오버라이드하고 이전 값을 저장하기 위해 인스턴스 변수를 추가하는 것입니다. – exdee