我正在尝试使用 CanCan 进行基本用户授权,出于某种原因,已经登录的用户在提交了他们的个人资料更新后,devise 正在退出。
我想不通,为什么会这样。
我的ability.rb
class Ability
include CanCan::Ability
def initialize(user)
user ||= User.new # guest user (not logged in)
can [:welcome, :read, :create, :new], User
if user.role == 'member'
can :manage, User, :id => user.id
end
end
end
而我的update
方法来自UsersController
def update
if @user.update_attributes(params[:user])
flash[:success] = "Profile saved!"
#sign_in @user // tried this with no lucky, it still signing out
redirect_to @user
else
render 'edit'
end
end
如您所见,它非常基本。
flash
消息正在显示,并且也redirect
按预期工作。
任何的想法?