I am trying to make my page reload after sorting through the new position, either through Javascript or in the Ruby on Rails code.
$("#serialize").click ->
c = set: JSON.stringify($("#sortable").nestedSortable("toHierarchy",
startDepthCount: 0
))
$.post "savesort", c, $("#output").html("<p id=\"flash_notice\">Saved Successfully</p>")
false
I'm thinking of adding it here
$.post "savesort", c, $("#output").html("<p id=\"flash_notice\">Saved Successfully</p>")
window.location.reload(false);
false
But it seems like that messes up the order. Here is my rails code
class SiteController < ApplicationController
def savesort
neworder = JSON.parse(params[:set])
prev_item = nil
neworder.each do |item|
dbitem = Category.find(item['id'])
prev_item.nil? ? dbitem.move_to_root : dbitem.move_to_right_of(prev_item)
sort_children(item, dbitem) unless item['children'].nil?
prev_item = dbitem
end
Category.rebuild!
render :nothing => true
end
end
I am also thinking about change render :nothing => true to redirect_to root_url but that doesn't seem to work either.
here is my Routes.rb (Shortened for the sake of space)
locksmithing::Application.routes.draw do
get "site/home"
match "/savesort" => 'site#savesort'
root to: 'site#home'
end
So, where should I add the code to refresh the page? Javascript or in the Site Controller? or is there another solution? Thanks in advance.