我需要重置一些用户的密码,但不发送忘记密码的电子邮件。只需重置密码,以便他们下次登录时我可以显示一条消息,要求他们请求重置密码。深入研究我需要的最基本的东西:在不通知用户的情况下,我需要让他们进入某种RESET_REQUIRED状态,以便让用户在前端返回一个PasswordResetRequiredException.
我最初认为AdminSetUserPassword这可以解决这个问题,但它使用户处于一种需要通过我没有设置的用户界面更改密码的状态。我不确定是否可以采取额外的步骤——设置密码AdminSetUserPassword,然后采取其他一些步骤?
否则,我已经尝试了很多不同的事情AdminResetUserPassword。
CustomMessage_ForgotPassword,但这只会导致发送带有代码的通用消息。email_verified用户的属性更改为false(因为AWS文档指出,如果他们有经过验证的电子邮件,它将发送密码重置电子邮件),但这会使密码重置本身引发错误。有没有人有这方面的经验,或者这是一个不可能的要求?
错误类似于NameError: uninitialized constant Foo::Bar(whenBar不是 的后代Foo)。
我知道它与加载(自动加载?)常量有关,并且我觉得其中的任何内容都lib/可以安全地不加前缀,::因为它是自动加载的(或其他东西)。
刚刚发生在我身上的一个例子是这样的:
应用程序/资产/类/base_class.rb
class BaseClass
end
Run Code Online (Sandbox Code Playgroud)
应用程序/资产/some_module/some_class.rb
module SomeModule
class SomeClass < BaseClass
end
end
Run Code Online (Sandbox Code Playgroud)
我正在运行规范并收到“加载[文件]时发生错误”:NameError: uninitialized constant SomeModule::SomeClass::BaseClass。
现在,我知道它正在尝试BaseClass在SomeModule::SomeClass. 但这在几个小时前还在工作,然后在没有对这些文件进行任何更改后停止了。
所以,我可以直接加上 a::并与 一起使用class SomeClass < ::BaseClass,但不明白为什么感觉很糟糕,然后我想,我是否需要一直在我的所有代码中添加胡椒粉::?