OmniAuth 1.0 與 MongoDB
2012-01-09 21:46:41 +0800 由 Jett_Hsieh
在 Ruby on Rails 節點 中發起
最後由 Jett_Hsieh 於2012-01-10 11:40:42 +0800回應
, 235次閱讀
大家好,
新手一枚, 想請問關於OmniAuth的問題.
我照著XDite大的 http://blog.xdite.net/posts/2011/12/05/omniauth-clean-auth-provider-4/
來實作Facebook登入認證,
但最後出現了Error
Mysql2::Error: Unknown column 'authorizations.provider' in 'where clause': SELECT users
.* FROM users
WHERE authorizations
.provider
= 'facebook' AND authorizations
.uid
= '1560399655' LIMIT 1
對照了ruby-taiwan的source code, 發現在class User底下使用的是embeds_many, 而不是has_many. 而embeds_many似乎是MongoID所使用.
這樣是不是表示, 如果要使用OmniAuth 1.0, 就必須要使用MongoDB?
或者有其他方式可以解決?
截至 2012-01-10 11:40:42 +0800,共收到 3 條回應
pobeike
1樓, 於2012-01-10 10:05:32 +0800回應
無非是查詢資料庫和寫資料庫。所以OmniAuth與mongoDB無關。
xdite
2樓, 於2012-01-10 10:26:59 +0800回應
無關。你自己可以用 AR 類似的機制替換掉。
Jett_Hsieh
3樓, 於2012-01-10 11:40:42 +0800回應
了解, 解決了
要在 omniauth_callbacks.rb裡讓User先join(:authorizations)....
感謝!