我試圖從與Ruby on Rails的數據庫被刪除停止特定聯繫 我已經嘗試了一些東西,但繼承人的代碼,因爲它代表停止刪除管理員的地方名稱,如「string_name」
編輯2改User.name到@ user.name
型號
after_destroy :can_not_destroy_super_admin
private
def can_not_destroy_super_admin
if @user.name == "super admin"
raise "Can't delete this admin"
end
end
我認爲它是一個問題User.name,但我知道它看到這個代碼,因爲我有錯誤,提出問題與不同我在這裏試過的代碼。
我知道,這是一個相對簡單的方法來停止刪除管理員,但這是一種簡單的方法來獲得我需要做的事情。
任何建議或幫助非常感謝。
Edit.1
這裏是破壞方法
控制器
def destroy
@user = User.find(params[:id])
begin
@user.destroy
flash[:notice] = "User #{@user.name} deleted"
rescue Exception => e
flash[:notice] = e.message
end
respond_to do |format|
format.html { redirect_to users_url }
format.json { head :no_content }
end
end
恩,你有'after_destroy'回調。看到「之後」?已經太晚了,用戶已經離開了。 :) –