I'm ecpecting this to return json format even when the request would be expected to return in html. the output looks like this!
[{"controller": "page", "item": 1, "name": "Home", "id": 2, "action": "show", "submenus": 0}, {"controller": "contact", "item": null, "name": "Account", "id": 5, "action": null, "submenus": 3}, {"controller": null, "item": null, "name": "Admin", "id": 3, "action": null, "submenus": 4}, {"controller": "page", "item": 2, "name": "About", "id": 4, "action": "show", "submenus": 0}]
Which doesn;t look like json to me!! :>
def getmenu if params[:id] == '0' menus=Menu.find(:first, :conditions => "name='root'").children else menus=Menu.find(:all, :conditions => "parent_id='#{params[:id]}'") end menu= menus.each do |m| menu[m.position]={:name => m.name, :controller => m.controller, :action => m.action, :item => m.item, :id => m.id, :submenus => m.children.size} end output=menu.compact.to_json respond_to do |format| format.html { render :json => output } format.json { render :json => output } end end