使用 Devise,我试图允许用户在此处使用解决方案 3 更新他们的密码:
https://github.com/plataformatec/devise/wiki/How-To:-Allow-users-to-edit-their-password
我正在使用命名空间,所以我的控制器代码如下所示:
def update_profile
@user = current_vendors_user
if @user.update_attributes(params[:user], :as => :vendor) then
sign_in :vendors, @user, :bypass => true
flash[:notice] = 'Profile successfully updated'
return redirect_to vendors_root_path
else
render :action => 'index'
end
end
...我的命名空间是:供应商。
无论我做什么,用户都会被注销。如果我在“sign_in”之后输出“current_vendor_user”,那么我会看到用户已登录,但在重定向后他们已被注销。我在这里想念什么?