2016-09-06 3 views
1

다음과 같이 활성 모델 시리얼 라이저 (0.10.2)를 사용하고 있습니다. 두 개의 시리얼 라이저에 메타 태그 (메타 태그가 포함되어 있지 않습니다 : 속성 어댑터)가 필요합니다. 어디에 내가 뿌리를 원하지 않는다면, 그것은 가능한가?활성 모델 시리얼 라이저에서 루트를 사용하지 않음

활성 모델 직렬 기의 json 어댑터 v 0.10.2를 사용하고 루트를 비활성화 할 수 있습니까? the documentation

답변

0

:

JSON 응답은 항상 루트 키를 사용하여 렌더링됩니다.

렌더 호출에 루트 옵션을 전달하면 루트 키를 재정의 할 수 있습니다. Rendering Guides에서 자세한 내용을 참조하십시오.

그래서 같은 명령 :

render json: @your_serializer, root: nil, adapter: :json 

는 시도 가치가있다.

1

: json 어댑터를 사용할 때 루트 키를 비활성화하는 방법을 찾지 못했습니다. 그러나 메타 데이터가없는 컨트롤러 메서드가 메타 데이터를 반환하고 다른 컨트롤러 메서드는 메타 데이터를 반환하지 않으므로 메타 데이터가없는 메서드에 기본 어댑터 (특성)를 사용하여 다음과 같이 선언하면됩니다. 메타 데이터가 필요한 제어기 메소드.

그래서, 뭔가 같은 : 코스 articles_meta_method의

render json: articles, meta: articles_meta_method(articles), adapter: :json 

어딘가에 정의되어야 할 것이다.

페이지 매김에 메타 메소드를 사용하는 예가 있습니다. here

관련 문제