기존 질문은 내가 원하는 것을 나에게 길의 90 %를 입수했습니다,하지만 차질이있다. Rails 중첩 연결입니다. 렌더링에 : JSON
은 내가CheckIns
모델 및
Person
모델을 가지고있다.
CheckIns
는
People
에 속한다. 나는 그것의 관련
Person
둥지에 싶습니다, 각
CheckIn
를 들어
data = CheckIn.all
render json: { data: data }
: 내 컨트롤러에서
, 나는이 코드를 가지고있다.
data = CheckIn.all
render json: data.to_json include: :person
을하지만 원래처럼 to_json
가 아닌 문자열 Hash
을 생성하기 때문에,이, 래퍼 JSON 객체의 내부에 내 데이터 둥지가 어렵게 : 과거 StackOverflow의 질문에 나는 이렇게 제안한다.
표준 JSON 출력을 따라갈 수 있도록 래퍼 JSON 객체를 원합니다. 여기서는 이 항상 data:
필드에 있고 다른 메타 데이터를 응답에 첨부 할 수 있습니다.
또한 랩퍼 오브젝트를 유지하면서 어떻게, to_json
에 대한 include:
플래그의 효과를 얻을 수 있나요? 특히, 이것은 정말로 추악하기 때문에 나에게 유효한 대답은 아닙니다.
data = CheckIn.all
render json: { data: JSON.parse data.to_json(include: :person) }
고마워요! Rails에서이를 수행하는 관용적 인 방법이 있기를 바랍니다.
@users = User.all.includes(:checkins)
하는 쿼리됩니다 :
을 렌더링하는 객체 .to_json과 반대되는 JSON. 이 두 가지 보석 모두 JSON을 형식화하는 훨씬 더 명백한 DSL을 제공합니다. –
jbuilder는 친구입니다 ... –
예, 이미 JBuilder에 대해 알고 있었지만, 저는 to_json없이이 작업을 수행 할 수 있는지 궁금합니다. 그리고 b) 내 프로젝트에 뷰를 도입하지 않아도됩니다. 그것이 가능하지 않다면, 괜찮습니다. 그러나 내 반응 생성을 그렇게 명백하게하는 것이 좋았습니다. –