奇怪的問題 - 我的控制器之一中的創建動作未保存屬性 - 請查看下面的代碼。所有線路都工作到最後2. oauth_token
和oauth_expires_at
未被保存。我檢查這些屬性都是正確的,等等。有趣的是,如果我改變倒數第二行:控制器未保存屬性(來自FB的Oauth令牌)
omniauth['credentials']['token'] ? provider = omniauth['credentials']['token'] : provider = ''
它完美的罰款。實際屬性oauth_token
和oauth_expires_at
似乎有問題。然後我嘗試創建2個新的虛擬屬性,看看它是否會在那裏工作 - 不。看起來像oauth_token
之後創建的任何屬性都搞砸了。這是一個遷移問題嗎?有任何想法嗎?
def create
params[:authorization] ? authorization_route = params[:authorization] : authorization_route = 'no authorization (invalid callback)'
omniauth = request.env["omniauth.auth"]
if omniauth and params[:authorization]
if authorization_route == "facebook"
omniauth['extra']['raw_info']['email'] ? email = omniauth['extra']['raw_info']['email'] : email = ''
omniauth['extra']['raw_info']['name'] ? name = omniauth['extra']['raw_info']['name'] : name = ''
omniauth['extra']['raw_info']['id'] ? uid = omniauth['extra']['raw_info']['id'] : uid = ''
omniauth['provider'] ? provider = omniauth['provider'] : provider = ''
omniauth['credentials']['token'] ? oauth_token = omniauth['credentials']['token'] : oauth_token = ''
omniauth['credentials']['expires_at'] ? oauth_expires_at = Time.at(omniauth['credentials']['expires_at']) : oauth_expires_at = ''
end
end