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
... 私の名前空間は :vendors です。
私が何をしても、ユーザーはログアウトされます。「sign_in」の後に「current_vendor_user」を出力すると、ユーザーがログインしていることがわかりますが、リダイレクト後にログアウトされています。ここで何が欠けていますか?