【问题标题】:Setting if conditions to self.find_or_create_from_auth_hash(auth_hash)将 if 条件设置为 self.find_or_create_from_auth_hash(auth_hash)
【发布时间】:2016-01-30 08:24:16
【问题描述】:

我正在使用 Twitter 和 Facebook 全方位身份验证

我有这个创建用户的方法

    def self.find_or_create_from_auth_hash(auth_hash)
        user = where(provider: auth_hash[:provider], uid: auth_hash[:uid]).first_or_create
        user.update(
            name: auth_hash.info.name,
            profile_image: auth_hash.info.image,
            token: auth_hash.credentials.token,
            secret: auth_hash.credentials.secret,
            url: auth_hash.info.urls.Twitter,
            nickname: auth_hash.info.nickname
            )
        user
    end

如果提供者是 Twitter,我该如何做到这一点

url: auth_hash.info.urls.Twitter,

但如果提供者是 Facebook,则改为这样做

url: auth_hash.info.urls.Facebook,

【问题讨论】:

标签: ruby-on-rails twitter-oauth omniauth omniauth-facebook


【解决方案1】:

您可以像这样更改代码: url: auth_hash.info.urls.auth_hash[:provider]

auth_hash[:provider] 返回 Facebook 或 Twitter

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-16
    • 2019-10-23
    • 2017-11-14
    • 1970-01-01
    • 2019-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多