将条件设置为self.find_or_create_from_auth_hash(auth_hash)

时间:2015-10-30 00:29:31

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

我正在使用Twitter和Facebook omni auth

我创建了一个用户

的方法
    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,

1 个答案:

答案 0 :(得分:0)

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

auth_hash[:provider]要么返回Facebook或Twitter