CanCanで基本的なユーザー認証を試みていますが、何らかの理由で既にログインしているユーザーがプロファイルに更新プログラムを送信した後、Devise + CanCan、更新後にログアウトしたユーザーが自動的にサインアウトする方法
なぜこのようなことが起こっているのかわかりません。 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
から
マイ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
方法あなたが見ることができるように、それはかなり基本的なのです。
flash
メッセージが表示され、redirect
も期待どおりに動作しています。