0

我已经设计了身份验证,并且我confirmable设计了用户模型,但我希望根据我发送的数据这是可选的。那是有一个type field用户模型,如果我发送value 1类型,那么可确认应该存在,如果value is 2那么不应该确认并且帐户应该自动激活。我怎样才能做到这一点?请帮我。提前致谢

4

3 回答 3

7

您可以config.allow_unconfirmed_access_for = nil在 config/initializers/devise.rb 文件中进行设置。

感谢Ajedi32的问题 – https://github.com/plataformatec/devise/issues/2275

于 2016-07-02T15:47:05.557 回答
2

你可以在你的用户模型中做这样的事情。

before_save :confirm_user, on: :create

def confirm_user
  self.confirm! if field.eql?("value_1")
end

诀窍是您检查您的价值,如果您想在没有确认的情况下创建用户,那么您只需使用设计confirm!方法手动确认它。

于 2012-11-23T13:33:58.797 回答
1

我认为您可以使用skip_confirmation!方法在这里。所以它不会为用户发送确认邮件,并且会被确认。

before_save :require_confirmation, :on => :create

def require_confirmation
   self.skip_confirmation! if field == "value_2"
end
于 2012-11-23T16:17:21.360 回答