设计 - 可确认不发送电子邮件

时间:2011-06-01 15:56:04

标签: ruby-on-rails devise

只是为了解决这个问题:我的电子邮件正在我的应用中运行。

我刚刚添加:确认我的用户模型。

应用/模型/ user.rb

devise :database_authenticatable, :registerable, :omniauthable,
   :recoverable, :rememberable, :trackable, :validatable, :confirmable

我确实在db中有可确认的部分:

分贝/ schema.rb

create_table "users", :force => true do |t|
  ...
  t.string   "confirmation_token"
  t.datetime "confirmed_at"
  t.datetime "confirmation_sent_at"
end

由于我忽略了registrations_controller

应用/控制器/ registrations_controller.rb

def create
  super
  session[:omniauth] = nil unless @user.new_record?
end

所以我想弄清楚的是......我需要添加什么才能:

  1. 在用户注册后收到确认电子邮件

  2. 将用户重定向到自定义页面,说明电子邮件等待确认(如果他们尝试在未经确认的情况下再次登录,则可以访问)(已解答here

  3. (应该自动处理?)验证用户后将其重定向到给定页面

  4. 更新:现在,当我创建用户时,它会自动确认。那是为什么?

1 个答案:

答案 0 :(得分:1)

好的,所以我没有意识到我的用户模型中有以下内容:

def send_confirmation_instructions
  # stops Devise from automatically sending a confirmation email
end

def confirmation_required?
  skip_confirmation!
end

评论他们会收到要发送的电子邮件。如果未确认用户,仍在尝试弄清楚如何在登录后重定向。并试图弄清楚如何正确使用confirmation_required?