x無法存取,你可能沒有權限或未登入。
9a92e1df591212b67a289a2a65c70fab

OmniAuth 1.0 與 MongoDB

2012-01-09 21:46:41 +0800Jett_HsiehRuby on Rails 節點 中發起
最後由 Jett_Hsieh2012-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 條回應
B25df49ad3ddf0cc833eb93ebeda285c
pobeike 1樓, 於2012-01-10 10:05:32 +0800回應

無非是查詢資料庫和寫資料庫。所以OmniAuth與mongoDB無關。

19e786a2a74377ff6e052d87fd8d1fa8
xdite 2樓, 於2012-01-10 10:26:59 +0800回應

無關。你自己可以用 AR 類似的機制替換掉。

9a92e1df591212b67a289a2a65c70fab
Jett_Hsieh 3樓, 於2012-01-10 11:40:42 +0800回應

了解, 解決了
要在 omniauth_callbacks.rb裡讓User先join(:authorizations)....
感謝!

需要 登入 後方可回應,如果你還沒有帳號按這裡 註冊