2014-04-16 4 views
0

저는 RoR (및 Ruby)의 초보자입니다. json 응답 (포도와 함께)에 대한 약간의 도움이 필요합니다. Rails4 + Json API : 응답 세부 사항을 높이십시오.

은 샘플입니다 :

{ 
     events: [ 
      { 
      'some data':'some data', 
      place_id: 1 
      } 
     ] 
    } 

지금이 레일에서 Events.all의 결과입니다,하지만 난 더 많은 데이터 대신 전용 ID를 가지고, 각 이벤트 장소에 대한 쿼리에 대한 만들고 싶어. 나는 새로운 람다 함수가 나를 도울 수 있다고 확신하지만, 지금은 그것을 만들지 모른다. 나는

{ 
      events: [ 
       { 
       'some data':'some data', 
       place : { 
        id: 1, 
        name: 'Blablabla' 
       } 
      ] 
     } 
+1

http://api.rubyonrails.org/classes/ActiveModel/Serializers/JSON.html에서

그래서 당신은 당신에게 이벤트 목록에 대한 모든 장소의 목록을 제공하는 기능을 원하는? 어디에서/어떤 서비스를 쿼리 하시겠습니까? place_id가 주어지면 장소를 묻고 싶니? –

+0

정확히 ... 결과는 Events.all에서 볼 수 있습니다. 이제 각 이벤트에 대해 Place.find (event.place_id)를 호출하여 배열 이벤트의 각 요소에 대해 장소에 대한 세부 정보를 추가하려고합니다. –

답변

0
:events => events.as_json(include: :place) 

이것은 내 문제에 유용합니다. 이후에 belongs_to을 추가하십시오.

2

당신이 당신의 모델을 직렬화하는 방법을 정의 할 수 있습니다 ActiveModelSerializers 사용을 고려

감사

UPDATE

원하는 결과를 사전에 ... 성공없이 시도하고있다 ActiveRecord DSL과 비슷한 방식으로 (예 : 해당 이벤트를 정의하여 문제를 해결할 수 있습니다. has_one :place)