[英]Rails 4 & Devise 4: Keep user on current page after updating profile
我有一个用户模型,并且希望有不同的页面来编辑他们的信息,以便使我在edit.html.erb
上没有所有edit.html.erb
到目前为止,我已经为page_content.html.erb
和donation_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.