繁体   English   中英

发送电子邮件确认与设计

[英]Send email confirmation with devise

我已经安装了设计和omniauth用于让用户注册他们的Facebook帐户(这有效)。现在我想在用户创建具有Facebook登录功能的帐户时向用户发送电子邮件。

我还使用Actionmailer向用户发送基于触发器的电子邮件。 由于我使用的是设计,我的用户模型中没有创建方法来触发电子邮件,因此我想利用设计的标准功能发送确认电子邮件。 我已将确认添加到用户模型,但现在我收到以下错误:

Devise中的NameError :: RegistrationsController#为#创建未定义的局部变量或方法`confirmed_at'

我不明白错误信息。 对于我的观点,设计宝石是一个非常黑的盒子,我不知道错误指的是哪个控制器。 有人比我更了解设计宝石的任何帮助吗?

提前致谢!

您收到该错误消息的原因是因为blackbox设计确认功能使用它假定存在于User模型上的字段。 这意味着它假定您已确保用户表的数据库中存在列。 您需要做的不仅仅是向User模型添加确认。 您还需要为confirmed_at添加迁移,然后rake db:migrate

生成迁移:

rails g migration add_confirmable_to_devise

确保迁移的内容符合以下条件:

class AddConfirmableToDevise < ActiveRecord::Migration
  def change
    change_table(:users) do |t| 
      t.string   :confirmation_token
      t.datetime :confirmed_at
      t.datetime :confirmation_sent_at
      t.string   :unconfirmed_email
    end
    add_index :users, :confirmation_token, :unique => true 
  end
end

然后使用rake db:migrate运行rake db:migrate

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM