我希望用户(具有管理员角色)能够在删除他的帐户后注销另一个用户。问题是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/