0

JSON応答を介してdynatreeにノードを追加しようとしていますが、質問はより一般的です(dynatree固有のものではありません):ビューにjson.js.erbを正しくレンダリングする方法がわかりません.html.erb

#ERB view
 ...
 <div id="places_tree"></div>
 ...

 

# controller
def add_places
  @places_json=Place.all.as_json
  respond_to do |format|
    format.js { render layout: false } # execute add_places.js.erb
  end
end

 

#add_places.js.erb

var node = $("#places_tree").dynatree("getRoot");
node.addChild(<%= @places_json %>); <=== node not renders into dynatree container `<div id="places_tree"></div>` here

上記の最後の行を純粋なjsonに変更すると

node.addChild({"title": 'Title'})   

ノードTitleは私が期待するようにレンダリングされます(タイトルが追加された名前のノード<div id="places_tree"></div>)...

@places_jsonしかし、動的にレンダリングする必要があります

事前に感謝

4

1 に答える 1