有什么方法可以允许未经确认的用户请求特定的操作?

时间:2018-07-02 02:56:57

标签: devise

对未经确认的用户,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)

0 个答案:

没有答案