我有一个用户模型,我希望有不同的页面来编辑他们的信息,这样我就不会拥有edit.html.erb
上的所有内容
到目前为止,我已为page_content.html.erb
和donation_options.html.erb
创建了包含我的表单的视图。两者都按预期工作并成功更新我的用户,但在提交表单后,我重定向了用户root,即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 %>
答案 0 :(得分:2)
如果您已经拥有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 post。