私は祖先を使ってゴールのツリーを作ります。そのツリーの内容をjsonを使ってブラウザに送りたいと思います。
私のコントローラーは次のようなものです:
@goals = Goal.arrange
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @goals }
format.json { render :json => @goals}
end
json ファイルを開くと、次の出力が得られます。
{"#<Goal:0x7f8664332088>":{"#<Goal:0x7f86643313b8>":{"#<Goal:0x7f8664331048>":{"#<Goal:0x7f8664330c10>":{}},"#<Goal:0x7f8664330e68>":{}},"#<Goal:0x7f86643311b0>":{}},"#<Goal:0x7f8664331f70>":{},"#<Goal:0x7f8664331d18>":{},"#<Goal:0x7f8664331bd8>":{},"#<Goal:0x7f8664331a20>":{},"#<Goal:0x7f86643318e0>":{},"#<Goal:0x7f8664331750>":{},"#<Goal:0x7f8664331548>":{"#<Goal:0x7f8664330aa8>":{}}}
json ファイルのゴール オブジェクトのコンテンツをレンダリングするにはどうすればよいですか?
私はこれを試しました:
@goals.map! {|goal| {:id => goal.id.to_s}
@goals は順序付けられたハッシュであるため、機能しません。