Rails 3:当使用html提交表单时,如何在Ajax调用中“redirect_to”

时间:2015-01-02 13:03:09

标签: ruby-on-rails ruby ajax

我使用iframe在rails 3.2中上传文件,在使用iframe提交表单后如何重定向我的页面" ajax"致电

if @user.save
    format.html { redirect_to users_path }
    format.json { render json: @user, status: :created, location: @user }
    format.js { render :layout => false }
  end

我尝试使用,

format.html { render js: "window.location.pathname = #{users_path.to_json}" }

3 个答案:

答案 0 :(得分:6)

这对我有用:

format.js {render js: "window.location = '#{users_path}';"}

别忘了引用' js字符串中的网址,因为在你问题中粘贴的代码中你似乎已经忘记了它们

同时使用users_path而非users_path.to_json

答案 1 :(得分:1)

可以是

if @user.save
  format.html { redirect_to users_path }
  format.json { render json: @user, status: :created, location: @user }
  format.js { render js: "window.location = '#{users_url}';" }
end

所以当ajax请求它将自动执行format.js并且它将呈现

答案 2 :(得分:1)

您可以在控制器

中的操作中使用redirect_to(users_path)