所以我有一个普通用户、一个管理员用户和一个 oauth 用户类型。我更改了很多东西以使它们正常工作,但是现在活动管理员在登录时不再在右上角显示电子邮件地址。
我的apps/admin/user.rb(以前的admin_user.rb)只是普通的ActiveAdmin用户......所以发布它没有意义。
这是已更改的文件(模型中的 users.rb。)
class User < ActiveRecord::Base
acts_as_voter
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation, :provider, :uid, :name, :remember_me
# attr_accessible :title, :body
has_many :posts
has_many :tasks
has_many :dailies
has_many :authentications
def self.create_with_omniauth(auth)
create! do |user|
user.provider = auth['provider']
user.uid = auth['uid']
user.password = user.password_confirmation = SecureRandom.urlsafe_base64(n=6)
if auth['info']
user.name = auth['info']['name'] || ""
user.email = auth['info']['email'] || ""
end
end
end
end
我错过了索引还是什么?
我尝试添加:
index({ email: 1 }, { unique: true, background: true })
但它告诉我没有定义索引方法......
(当我在这里时,我还应该问:该功能是如何工作的?如何在成功登录后让当前用户的电子邮件/用户名显示在某处?以及如何获得“登录”链接以切换到登录后的“注销”链接?)