1

일부 모델 데이터를 변환하는 응용 프로그램이 있으며이 데이터를 버전화하고 싶습니다. 그래서 내 설정이다 :Rails5에서 번역에 paper_trail을 동적으로 추가했습니다.

  • 레일 5.1.4
  • 루비 2.4.1 (RVM와)
  • 번역의 버전에 대한
  • 의 세계화 @ 마스터
  • PaperTrail

내가 가진 globalize-versioning gem에 레일 5 기능을 추가해야하는 pull-request을 만들었습니다.

  • 업데이트 gemspec과 Gemfile 최신 보석을 사용 :

    이미이했다.

  • 지원되지 않는 루비 호출이 수정되었습니다.
  • 테스트가 실행되도록 .travis.yml을 업데이트하십시오.

이제 프로젝트의 모든 테스트가 실패하고 globalize의 번역 개체에 paper_trail 기능을 추가하는 방법을 알 수 없습니다.

+0

'세계화 - versioning' 그래서 기능이 다른 모델에 주입되는 방식의 개념을 압도 조금입니다 . – Besi

답변

2

alias_method_chain을 잘못 변경했습니다.

alias_method :versioning, :setup_translates! 
alias_method :setup_translates!, :versioning 

이 별칭은 버전 관리 및 setup_translates! alias_method_chain이 실제로 시도하는 것은 오버라이드 된 메소드가 여전히 호출 가능한지 확인하는 것입니다.

그래서이 :이 문제를 해결되는지보십시오

alias_method :setup_translates_without_versioning!, :setup_translates! 
alias_method :setup_translates!, :setup_translates_with_versioning! 

:

alias_method_chain :setup_translates!, :versioning 

로 변경해야합니다.

소스 : 나는 "단지"는 paper_trail``의 사용자와`globalize` 및 AM alias_method_chain

관련 문제