Oli*_*ees 3 ruby facebook ruby-on-rails 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
Run Code Online (Sandbox Code Playgroud)
确保迁移的内容符合以下条件:
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
Run Code Online (Sandbox Code Playgroud)
然后运行您的迁移rake db:migrate.
| 归档时间: |
|
| 查看次数: |
2454 次 |
| 最近记录: |