是什麼軌之間的區別構建:ActiveRecord的 - find_by V/S,其中
authentication = Authentication.where(:provider=>omniauth['provider'], :uid=>omniauth['uid'])
authentication = Authentication.find_by_provider_and_uid(omniauth['provider'], omniauth['uid'])
我的問題是,如果我使用的第一構造(。凡) - 我無法得到的關聯。我的模型身份驗證屬於'模型用戶。如果我使用first構造搜索身份驗證,則無法通過authentication.user獲取關聯的用戶,但同樣的事情可以與第二個版本一起使用。
由於Heroku問題,我想使用第一個構造而不是第二個構造: http://docs.heroku.com/database:PGError:錯誤:運算符不存在:字符變化=整數。
我正在使用heroku,第二個工作正常。你的提供者和uid都是字符串類型嗎? – PeterWong 2011-01-08 17:08:46
uid是varchar,但是當它通過數字進行比較時,我從Postgres得到錯誤。我正在使用omniauth身份驗證方法。不知道如何解決這個 – Ved 2011-01-08 17:13:05