2

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

4

0 回答 0