0

우리는 레일 3.2.15를 사용하고 I18N에 대해 Globalize gem을 사용합니다. 우리는 최근 모델 변경 감사를 위해 Paper Trail Gem을 통합했습니다.ActiveRecord 오브젝트는 페이퍼 트레일 gem으로 변환 된 값을 저장하지 않습니다

변환 된 것으로 표시된 모델 필드가 DB에서 업데이트되지 않는 것을 확인했습니다.

class MyModel < ActiveRecord::Base 
    translates :name 
    has_paper_trail 
end 

내가 MyModel 개체의 이름 속성을 업데이트

, 그것은 저장되지 않습니다.

버전 :

루비 1.9.3

레일 3.2.15

Globalize3

paper_trail 내 Globalize 보석을 업그레이드하여 작업을 얻었다 2.7.2

+0

'globalize' 젬은 번역 된 텍스트를 모델의 테이블에 저장하지 않고 전용 변환 테이블에 저장합니다. 즉, 번역을 변경해도 모델 자체가 업데이트되지 않으므로 'papertrail'에는 변경 사항이 있음을 알 수 없습니다. papertrail을 사용하려면 번역 모델을 확장해야합니다. – spickermann

+0

번역마다 말의 모델이 없습니다. 보석은 내부적으로 처리한다. – Sid

답변

0

globalize-versioning 보석을 설치하십시오. 그것은 함께 꽤 잘 작동합니다.

class MyModel < ActiveRecord::Base 
    translates :name, versioning: :paper_trail 
    has_paper_trail 
end 

이 대신 평소 my_model.versionsmy_model.translations.versions로 번역 항목 버전을 얻을 당신을 필요로 않습니다.

관련 문제