0

jbuildergemを使用してjson出力をフォーマットしようとしています。

コントローラ

class LocationsController < ApplicationController
def tree
  @locations = Location.all
end

tree.json.jbuilder

Jbuilder.encode do |json|
  json.id @location.id
  json.name @location.name
end

URLを使用してテストします。

http://localhost:5000/locations/tree.json

結果:

Called id for nil, which would mistakenly be 4 -- if you really wanted the id of nil, use object_id
Extracted source (around line #2):

1: Jbuilder.encode do |json|
2:   json.id @location.id
3:   json.name @location.name
4: end
4

1 に答える 1

0

@location投稿したコードで定義していないようです。
あなたはあなたの場所を繰り返す必要があります、jbuilderはあなたにそれを例えばこのようにさせることができます:

Jbuilder.encode do |json|
  json.locations @locations do |location|
    json.id location.id
    json.name location.name
  end
end

代わりにフラットアレイが必要な場合は、ドキュメントを参照してください。

于 2013-02-13T07:39:13.107 に答える