ruby-on-rails - 设计:退出特定用户,而不是范围

标签 ruby-on-rails devise

我希望用户(具有管理员角色)能够在删除他的帐户后注销另一个用户。问题是sign_out helper 方法注销两个用户,因为它适用于他们的范围,这是相同的。如何仅注销一个用户?

这是代码:

class Users::RegistrationsController < Devise::RegistrationsController
  # ...
  def destroy
    @user = User.find(params[:id])
    sign_out @user
    @user.destroy
    redirect_to users_path, notice: I18n.t("messages.user_destroyed")
  end
  # ...
end

并且,作为一个子问题,将 Controller 扩展设计用于类似的用户相关任务,即添加自定义方法(如 index)是否是一个好习惯? , show等对他们?

最佳答案

尝试在您的设备 Controller 配置中设置以下内容:

config.sign_out_all_scopes = false

关于ruby-on-rails - 设计:退出特定用户,而不是范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18822946/

相关文章:

ruby-on-rails - 使用 Devise 登录/注销时如何设置 cookie

ruby-on-rails - 从 Devise url 中删除模型

ruby-on-rails - 尝试让经过身份验证的用户首先登陆他们的个人资料页面而不是 home#index - 使用 Devise

ruby-on-rails - Rails Devise 发送邮件

ruby-on-rails - Rspec Suite 在 OmniAuth 模拟身份验证哈希上失败

ruby-on-rails - Ruby on Rails 脚手架开发插件

javascript - 在 Rails 中的复选框上实现 AJAX 调用以更新数据库

ruby-on-rails - 我应该将 Cucumber 用于 AngularJS 单页应用程序吗?

ruby-on-rails - 如何限制 Phusion 乘客内存使用量?

ruby-on-rails - Mechanical Turk 教程或操作指南