gpt4 book ai didi

ruby-on-rails - 守望者回调应该放置在 Rails 应用程序中的什么位置?

转载 作者:行者123 更新时间:2023-12-03 11:57:13 27 4
gpt4 key购买 nike

我对rails比较陌生。我已经设置好设计,并希望在用户登录后运行一些回调代码。

看着Warden wiki page ,我可以使用“after_set_user”回调来执行这个逻辑,例如:

Warden::Manager.after_set_user do |user, auth, opts|
unless user.active?
auth.logout
throw(:warden, :message => "User not active")
end
end

但是,我不确定我应该在哪里存储这些东西。我的第一个想法是我可以把它放在 config/initializers/devise.rb 中。那是对的吗?将本质上是 Controller 代码的内容放在配置目录中感觉不对。

最佳答案

当您的应用程序启动时需要 Warden Hook ,因此在 Devise 的初始化程序中 config/initializers/devise.rb 是一个不错的选择。

但是,使用此设计功能可以更好地实现您想要实现的行为:

https://github.com/plataformatec/devise/wiki/How-To:-Customize-user-account-status-validation-when-logging-in

关于ruby-on-rails - 守望者回调应该放置在 Rails 应用程序中的什么位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7375853/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com