0

Rails API アプリでは、Rabl gem を使用して JSON をレンダリングしています。ただし、JSON を特定の形式にする必要がありました。

これは、Rails アプリが応答として送信する JSON です。

  [{"lat":"49.2505","lng":"-123.1119"},{"lat":"49.2515","lng":"-123.1109"}]

これは、クライアントが取得したい応答です

  {"photos":[{"lat": 37.775, "lng": -122.4183333}, ...]}

ファイルindex.json.rabl内の json をレンダリングするコードは次のとおりです。

collection @photos
attributes :lat, :lng

index.json.rabl ファイルでこのコードを試してみましたが、次のような応答が返されました collection @photos node(:photos) { |photos|attributes :lat, :lng}

 [{"photos":["lat","lng"]},{"lat":"49.2515","lng":"-123.1109","photos":["lat","lng"]}]

正確にはクライアントが必要としているものではない

クライアントに対して正しい JSON 応答を取得するには、このコードで何を変更する必要がありますか。

どうもありがとう。

4

1 に答える 1

0

私はこれを解決しました:

index.json.rabl

 collection @photos => :photos 
 attributes :lat, :lng

収量

 {"photos":[{"lat":"49.2505","lng":"-123.1119"},{"lat":"49.2515","lng":"-123.1109"}]}
于 2012-09-10T05:00:37.300 に答える