$("#serialize").click ->
c = set: JSON.stringify($("#sortable").nestedSortable("toHierarchy",
startDepthCount: 0
))
$.post "savesort", c, $("#output").html("<p id=\"flash_notice\">Saved Successfully</p>")
false
我考虑将它添加到这里。
$.post "savesort", c, $("#output").html("<p id=\"flash_notice\">Saved Successfully</p>")
window.location.reload(false);
false
但是这样似乎会搞乱顺序。以下是我的Rails代码:
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
我还在考虑将render :nothing => true更改为redirect_to root_url,但似乎也不起作用。
这是我的Routes.rb(由于篇幅缘故进行了缩短)
locksmithing::Application.routes.draw do
get "site/home"
match "/savesort" => 'site#savesort'
root to: 'site#home'
end
那么,我应该在哪里添加代码才能刷新页面?是在JavaScript中还是在站点控制器中?或者有其他解决方案吗?提前感谢。