JavascriptまたはRuby on Railsのコードを使用して、新しい位置でソートした後でページをリロードするようにしています。JavascriptまたはRuby on Railsでページをリロードする方法
$("#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
それを追加するのではと思っていますしかし、それは順序を台無しように思えます。ここに私のレールコード
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
私も変化を考えていているレンダリング:何も=>真root_urlをredirect_toないようにそれはどちらか動作するようには思えません。ここ
は、私はページを更新するためのコードを追加する必要があり、私のroutes.rbを(スペースのために短縮)
locksmithing::Application.routes.draw do
get "site/home"
match "/savesort" => 'site#savesort'
root to: 'site#home'
end
ので、ですか? Javascriptまたはサイトコントローラ内にありますか?または別の解決策がありますか?前もって感謝します。
これはいくつかの優れた情報でした。私はあなたの解決策に従うことができ、それが機能しました。ありがとう、私はJavascript/Jquery/Coffeescriptに新しいので、私はこれをjavascriptからcoffeescriptに変換していたに違いありません。私はそれを働かせて、あなたが言及したAJAXのアプローチを試みます。 – ruevaughn