我的目标很简单。我想允许用户只有拥有唯一的密码才能注册。我想检查此代码是否有效(在我的密码数据库中),然后在用户注册后将其删除。
我有一个 Secret_code 模型:
:secret_code column
我在注册表单中输入了密码
<%= f.input :secret_code, required: true, autofocus: true %>
我应该个性化 class RegistrationsController < Devise::RegistrationsController ?
如何?谢谢!
请您参考如下方法:
您可以通过覆盖注册 Controller 来做到这一点。取消注释这样的创建方法。
定义创建 极好的 结束
并添加一个过滤器,例如:
before_action :check_secret_code,仅:[:create]
并且您必须修改路由以告诉设计使用您的 Controller 而不是默认值:
devise_for:用户, Controller :{注册:“用户/注册”}
您可以在 check_secret_code 方法中指定您想要的内容,并在代码错误时渲染"new"。希望对您有所帮助。