【发布时间】:2016-04-28 20:00:10
【问题描述】:
我正在使用带有“omniauth-google-oauth2”gem 的 Rails 4.2.5。在我的应用程序中,用户能够登录的唯一方法是通过他们的 Google 或 Facebook 登录。我想要的是使用具有管理员角色的初始用户我(电子邮件 = 'davea@gmail.com')预先填充我的应用程序。以编程方式执行此操作会很好,这样当我将其推广到其他环境时,我可以使用相同的代码。
我的角色表(通过 db/seeds.rb)有角色
Admin
User
我的 app/model/user.rb 文件有
def self.from_omniauth(auth)
where(auth.slice(:provider, :uid)).first_or_initialize.tap do |user|
user.provider = auth.provider
user.uid = auth.uid
user.name = auth.info.name
user.oauth_token = auth.credentials.token
user.oauth_expires_at = Time.at(auth.credentials.expires_at)
user.save!
end
end
但是,我不确定如何做我想做的事,因此我会重视一些建议。
【问题讨论】:
标签: ruby-on-rails-4 omniauth seed