Ruby on rails 确保在设计验证中销毁/删除/删除用户时保留最后一个管理员

Ruby on rails 确保在设计验证中销毁/删除/删除用户时保留最后一个管理员,ruby-on-rails,devise,rails-admin,Ruby On Rails,Devise,Rails Admin,我是rails新手。我正在开发一个小应用程序,它需要一个管理员角色,可以添加、修改和删除内容。因此,一些模型/视图应该对普通用户隐藏,只有管理员可以通过身份验证访问它们 为了实现这一点,我使用了“rails\u admin”和“design”gems。我不希望注册页面显示给genral用户,所以我已经从我的管理模型中删除了removing:registerable 现在一切似乎都很好,但当我通过管理员登录时,从我的仪表板中删除每个管理员,我无法再次登录,因为我已经删除了注册页面 所以我想确保我的

我是rails新手。我正在开发一个小应用程序,它需要一个管理员角色,可以添加、修改和删除内容。因此,一些模型/视图应该对普通用户隐藏,只有管理员可以通过身份验证访问它们

为了实现这一点,我使用了“rails\u admin”和“design”gems。我不希望注册页面显示给genral用户,所以我已经从我的管理模型中删除了removing:registerable

现在一切似乎都很好,但当我通过管理员登录时,从我的仪表板中删除每个管理员,我无法再次登录,因为我已经删除了注册页面

所以我想确保我的最后一个用户仍然存在。删除最后一个用户时,应向用户显示警告/通知。我为此编写了以下代码

private
   def ensure_an_admin_remains
      if Admin.count.zero?
         raise "Can't delete last user"
      end
   end
这会引发错误,但我的浏览器会显示所有错误详细信息。我希望它显示为一个闪光的消息。我想我必须改变设计方法。但我不知道在哪里可以找到它,也不知道如何进行必要的更改

有人能帮我吗?

在控制器中

def destroy 
  admin = Admin.find(params[:id])
  begin 
    admin.destroy
    redirect_to admins_path, notice: 'Admin destroyed.'
  rescue => e 
    redirect_to admins_path, alert: e.message 
  end
end

你确定要删除其他管理员吗?事实上不是,但可能会出现这样的情况,我必须为已知要执行某些更新的人授予管理员权限。我应该可以在以后删除它。如果我在匆忙中错误地删除了我的角色该怎么办。整个应用程序至少在管理端被锁定。我不希望发生这种情况。你必须提供更多关于你所犯错误的信息。如果你想闪现一条信息,只需使用闪现而不是提高。flash[:notice]=无法删除最后一个用户我希望显示一条flash消息,但我认为我们不能在我们的模型中使用flash。我仍然试图检查它,但我得到了未定义的局部变量或“flash”方法