使用Devise创建新用户时跳过电子邮件确认

时间:2013-12-27 09:59:25

标签: ruby-on-rails-3 email devise seed devise-confirmable

我有一个用户注册页面,并将该信息发送给一位新用户在该站点中注册的一些管理员用户。

现在,我使用用户列表(200+)创建了种子数据。因此,它会向相应的管理员用户发送200多封电子邮件。因此,我想在创建新用户时停止向管理员用户发送邮件确认。

2 个答案:

答案 0 :(得分:13)

对于Devise,请在保存之前添加user.skip_confirmation!

user = User.new(
    :email => 'person@example.com',
    :password => 'password1',
    :password_confirmation => 'password1'
  )
user.skip_confirmation!
user.save!

引用:https://github.com/plataformatec/devise/pull/2296

答案 1 :(得分:5)

另一种选择是做类似

的事情
user = User.new.tap do |u|
  u.email = 'email@server.com'
  u.password = 'hackme!'
  u.password_confirmation = 'hackme!'
  u.skip_confirmation!
  u.save!
end

以这种方式,您实例化对象,跳过确认并将其保存在一个步骤中并将其返回给用户变量。

这只是一步完成同样的事情。