gpt4 book ai didi

ruby-on-rails - 使用 Rails 提交远程表单后,如何将用户重定向到另一个页面?

转载 作者:行者123 更新时间:2023-12-04 07:39:46 26 4
gpt4 key购买 nike

我正在使用 Rails 4.2.3。我想在模态对话框中提交一个表单,所以我已经设置了我的表单

<%= form_for @my_object, :remote => true do |f| %>

但如果用户成功提交表单,我想重新加载调用模态对话框的页面,并显示“已成功保存”的通知。我不知道需要在我的“format.js”中放入什么才能实现这一点。到目前为止,这是我在 Controller 中所拥有的……
  def create
@my_object = MyObject.new(my_object_params)
@current_user = User.find(session["user_id"])
@my_object.user = @current_user
respond_to do |format|
if @my_object.save
format.html { redirect_to controller: "users", action: "index", notice: 'Saved successfully.' }
format.js { render action: ‘../users/index’, notice: ‘Saved Successfully’, location: @my_object }
else
format.html { render action: "index" }
format.js { render json: @my_object.errors, status: :unprocessable_entity }
end
end
end

现在,当我尝试执行上述操作时,成功提交会导致 500 错误,提示缺少部分。无论如何,我很确定我有什么错。

最佳答案

您可以执行以下操作:

#app/controllers/redirect.rb
...

format.js { render js: "window.location='#{url.to_s}'" }

...

如果您喜欢将事情分开,只需将 format.js 放在您的 Controller 中并在您的 View 中执行 javascript 重定向 (redirect.js.erb)

在这两种情况下,只需在重定向之前将 flash[:notice] 设置为您需要的任何内容。

关于ruby-on-rails - 使用 Rails 提交远程表单后,如何将用户重定向到另一个页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37492886/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com