나는이 문제로 어려움을 겪고있다.ActiveSupport :: JSON과 JSON gem 사이의 충돌을 어떻게 처리합니까?
ActiveSupport::JSON
은 다양한 핵심 개체에 대해 to_json
을 정의하고 JSON 젬도 정의합니다. 그러나 구현은 동일하지 않습니다. ActiveSupport 버전에는 인수가 사용되며 JSON 젬 버전에는 인수가 없습니다.
JSON 보석이 필요하고 내 앱이 고장난 보석을 설치했습니다. 문제는 내가 개체 목록을 반환하는 컨트롤러에서 to_json
을 사용하고 있지만 반환되는 특성을 제어하려고합니다.
TypeError: wrong argument type Hash (expected Data)
가 내가 그것을 해결하기 위해 온라인으로 읽을 몇 가지를 시도했지만 아무 일하지 : 코드 어디 내 시스템에서 require 'json'
을 수행 할 때
는이 오류 메시지가 표시됩니다. 나는 JSON.parse
대신 ActiveSupport::JSON.decode
을 사용하여 보석을 다시 쓰는 것을 끝내었다.
이 방법은 효과가 있지만 지속 가능하지 않습니다 ... JSON 보석이 필요한 보석을 사용할 때마다 보석을 포크로 찍을 수는 없습니다.
업데이트 :이 문제의 가장 좋은 해결책은 해결 된 레일즈 2.3 이상으로 업그레이드하는 것입니다.
왜이 질문은 "커뮤니티 위키"로 표시됩니다? –
나는 잘 모르겠다. 나는 그걸 시도하고 그것이 무엇을하는지 알게되었다. –
나는 당신의 고통을 느꼈다. 나는이 엉망이 언젠가 정렬되기를 바란다. – MatthewFord