sortable acts_as_tree with heirarchy

Hola,

He echo una adaptacion de tu codigo, a mí me funciona:

Mi condicion de categoria principal: (category.parent_id == nil)

Mi partial(_categories.html.erb):

<ul id="categories" style="list-style:none;">   <% @categories.all(:order => "show_order asc").each do |category| %>     <% content_tag_for :li, category do %>       <span class="handle"><%= image_tag "drag.png" %></span> <%= link_to category.name, blog_category_path(@blog.permalink, category.permalink)%> (<%= category.posts.size%>)       <ul class="<%= category.children.size > 0 ? "" : "blog_category" %>" style="list-style:none;">         <% category.children.all(:order => "show_order asc").each do

sub_category| %>

          <% content_tag_for :li, sub_category do %>             <span class="handle"><%= image_tag "drag.png"%> </span> <%= link_to sub_category.name, blog_category_path(@blog.permalink, sub_category.permalink)%> (<%= sub_category.posts.size%>)           <% end %>         <% end %>       </ul>     <% end %>   <% end %> </ul> <%= sortable_element 'categories', :url => sort_blog_categories_path(@blog.permalink),:complete => visual_effect(:highlight, 'categories'), :handle => "handle", :tree => :true, :update => "nav_zone" %>

Mi controlador:

  def sort

    i_sort params[:categories]     @categories = @blog.categories.root     render :partial => "categories/categories.html.erb"

  end

  def i_sort(categories_hash )     parent_id = categories_hash[:id] || nil     puts categories_hash.to_a.to_s rescue puts categories_hash.to_s     categories_hash.each do |key, value|       if key != "id"         category = Category.find(value[:id].to_i)         category.show_order = key         category.parent_id = parent_id         category.save         i_sort(value)       end     end   end

Suerte.