在js.erb中重定向/重新加载页面而不是控制器

时间:2012-03-11 04:23:03

标签: javascript ruby-on-rails erb

我的index.js.erb仅部分刷新页面:

$("#view").html("<%= escape_javascript render 'view' %>");

我可以在控制器中用这一行完全刷新它:

format.js { render :js => "window.location.replace('#{url_for(:controller => :view, :action => :index, :some_parameter => value)}');" }

是否可以在js.erb中刷新页面?

编辑: 我在控制器中通过此命令调用index.js.erb:

format.js { redirect_to(:action => :index, :format => :js, :some_parameter => value)}, 

它使用some_parameter的内容刷新页面,但只是部分刷新。

window.location效果更好,但我在其中一个堆栈溢出帖子中读到,对于javascript,最好使用erb而不是控制器。真的吗?

1 个答案:

答案 0 :(得分:1)

对于第二种方式,您正在刷新整个页面(发出另一个http请求),如果您想这样做,为什么不使用redirect_to