对未经确认的用户,devise不允许任何操作。 我只允许未确认的用户登录。 我在设计gem时寻求选择,但没有找到。
skip_confirmation不是方法 https://github.com/plataformatec/devise/blob/d1948b79d3e933253baa753bd033c92171c0a7d0/lib/devise/models/confirmable.rb#L155
和
allow_unconfirmed_access_for选项允许一段时间 https://github.com/plataformatec/devise/issues/2275
最后,我为此做了黑客。
before_action :allow_unconfirmed_user, only: [:create]
after_action :unallow_unconfirmed_user, only: [:create]
def allow_unconfirmed_user
User.class_eval do
def confirmation_required?
false
end
end
end
def unallow_unconfirmed_user
User.class_eval do
def confirmation_required?
!confirmed?
end
end
end
我想知道是否有设计默认方法或任何好的方法? 非常感谢有人的帮助!
(设计4.4.1)