我正在使用DEvise进行注册,omniauth通过twitter / facebook进行身份验证,我想在用户销毁他的帐户注册时销毁所有身份验证。我需要添加到我的注册销毁方法中吗?
RegistrationsController < Devise::RegistrationsController
def destroy
resource.destroy
set_flash_message :notice, :destroyed
sign_out_and_redirect(self.resource)
end
AuthenticationsController
def destroy
@authentication = current_user.authentications.find(params[:id])
@authentication.destroy
flash[:notice] = "Successfully destroyed authentication."
redirect_to authentications_url
end
答案 0 :(得分:3)
我认为你在这个问题上遵循了rbates。他设置的方式是用户有很多身份验证,如果我错了,请纠正我。
你只需要这个:
class User < ActiveRecord::Base
has_many :authentications, :dependent => :destroy
end