在ajax调用之后重新加载Rails 4页面

我有一个应用程序,它根据我存储在会话变量中的位置显示大量信息页面。

我在其他控制器的不同页面之间的部分共享中使用单个选择。

_location_select.html.erb

 

这使得ajax调用:

locations_controller.rb

 class LocationsController < ApplicationController def select session[:location] = params[:value] render js: '' end end 

这是我的coffescript:

home.js.coffee

 $ -> $('#location').change -> $.get '/location/select', {value: $('option:selected', this).val()} 

所有这些代码都很好用,但是我需要在ajax调用完成后重新加载页面,让控制器返回更新的html太复杂了,因为位置选择将出现在如此大量的页面上。

我试过添加成功:和错误:回调函数到ajax调用,并且还使用ajaxStop。 我可以让ajax调用工作或页面重新加载工作,但无法找到获得两者的方法。

我试过添加:

 $(document).ajaxStop(function(){ window.location.reload(); }); 

我在哪里放置location.reload()还是有更好的方法?

仅供参考,我在这个应用程序中没有使用turbolinks。

locations_controller.rb

 class LocationsController < ApplicationController def select session[:location] = params[:value] respond_to do |format| format.js {} end end end 

意见/位置/ select.js

 window.location.reload();