필자는 모델에서보기까지 모든 것을 다루는 등 직접적으로이를 처리하는 플러그인이나 보석을 모르고 있으며 gemcutter.org 및 agilewebdevelopment.com에서 플러그인을 사용할 수 없음을 간략히 조사했습니다. .
아주 잘 관리하는 프로그램 및 패키지는 Google Wave입니다.
하지만 (이것은 거의 확실하지 않습니다 같은) 그 옵션이 아니라면, 여기가 당신을 얻을 수 있습니다 빠르고 아주 간단한 아이디어 :
라는 '수정'보기에 필드 추가하기 "requested_at"
편집에 대한 '업데이트'를 받으면 "requested_at"양식 필드 값이 저장된 개체의 "updated_at"값보다 작은 지 확인하십시오.
만약 그렇다면 사용자에게 가능한 충돌을 경고하는 응답을 브라우저에 보내십시오. 사용자가 제출 한 데이터와 저장된 객체의 현재 상태 사이에 차이점을 표시 할 수도 있습니다. 이 '사랑하는'표시를 위해 나는 gemcutter에서 사용할 수있는 DIFF-LCS 라이브러리를 권장합니다 : 사용자보기 후 http://gemcutter.org/gems/diff-lcs
와 그의 subimssion, 씻어 반복 (또는 그 (것)들에게 기존의 변화를 오버라이드 (override) 할 수있는 옵션을 제공 개정 할 경우에도 다른 사람 텍스트를 편집했습니다.)
는 답은 아래에 active_record 모델의 버전의 사용을 언급하고, 그것을 위해 당신은 (적어도 그게 내 마음에 드는입니다) ActsAsAudited를 시도해 볼 수도 있습니다 ...하지만 그건 당신이 설명 된 문제입니다 확실하지 않다.
나는 updated_at 값을 제출하고 모델을 업데이트하기 전에 그것을 비교하는 것이 보석 추가에 비해 좋은 절충이라고 생각합니다. 다른 경우; 수동으로 병합 할 사용자의 차이점을 보여줍니다. – gamov