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

Mr.*_*ack 7 email seed devise ruby-on-rails-3 devise-confirmable

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

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

sca*_*er2 13

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

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

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


Dav*_*ira 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
Run Code Online (Sandbox Code Playgroud)

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

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