繁体   English   中英

Rails 4和Devise 4:更新个人资料后,将用户保持在当前页面上

[英]Rails 4 & Devise 4: Keep user on current page after updating profile

我有一个用户模型,并且希望有不同的页面来编辑他们的信息,以便使我在edit.html.erb上没有所有edit.html.erb

到目前为止,我已经为page_content.html.erbdonation_options.html.erb创建了视图,上面都有我的表单。 两者均按预期工作并成功更新了我的用户,但是在提交表单后,我被重定向到用户根目录,即show.html.erb 我想进行设置,以便用户在更新其个人资料后停留在当前页面上。 我不确定是否需要编辑UsersController ,创建新控制器或采用其他方法。

这是我的表格的一个例子:

<%= form_for @user do |f| %>
              <!--Some inputs-->

              <div class="actions">
                <%= f.submit 'Update', :class => "btn btn-primary"  %>
                <!--After submitting, I'm taken to /users/:id/. I'd like to stay on /users/:id/current_view-->
              </div>
          <% end %>

如果您已经有一个UsersController ,则应进行与此设置类似的设置:

Class UsersController < ApplicationController
  def update
    @user = User.find(params[:id])
    if @user.update(user_params)
      redirect_to your_path_here
    end
  end
end

我不确定您的UsersController到底是什么样子,但这应该可以给您一个想法。 更新用户后,将redirect_to与您希望用户发送到的路径一起使用。 如果要重定向回当前页面,也可以使用redirect_to :back

请参阅此现有的SO帖子

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM