使用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”,那么我看到用户已登录,但在重定向后,他们已经被注销。我在这里缺少什么?