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

Rails 3: How to “redirect_to” in Ajax call when form submited using html

我在 rails 3.2 中使用 iframe 上传文件,使用 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}" }

这对我有用:

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

不要忘记在 js 字符串中引用 ' 和 url,因为在您粘贴到问题中的代码中您似乎忘记了它们

也使用 users_path 而不是 users_path.to_json

可以

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 并且它会渲染

您只需在控制器的操作中使用 redirect_to(users_path)