ruby-on-rails – 使用Rails提交远程表单后,如何将用户重定向到
发布时间:2020-12-17 03:57:01 所属栏目:百科 来源:网络整理
导读:我正在使用Rails 4.2.3.我想在模态对话框中提交一个表单,所以我已经设置了我的表单 %= form_for @my_object,:remote = true do |f| % 但是如果用户成功提交表单,我想重新加载调用模态对话框的页面,并注意“已成功保存”.我无法弄清楚我需要在“format.js”中
我正在使用Rails 4.2.3.我想在模态对话框中提交一个表单,所以我已经设置了我的表单
<%= form_for @my_object,:remote => true do |f| %> 但是如果用户成功提交表单,我想重新加载调用模态对话框的页面,并注意“已成功保存”.我无法弄清楚我需要在“format.js”中添加什么才能生成这发生了.到目前为止,这就是我在控制器中所拥有的…… 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放在你的控制器中,然后在你的视图中进行javascript重定向(redirect.js.erb) 在这两种情况下,只需将flash [:notice]设置为重定向前所需的任何内容. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |