認証プラグインとして Restful 認証を使用するサイトがあります。Facebook コネクトを統合する必要があります。Facebook はユーザーに電子メール アドレスを提供しません (ユーザーが同意した場合のみ)、もちろんパスワードも提供しません。
主な問題は、User モデルにvalidates_**
(Restful 認証モジュールからの) これら 2 つのフィールドが多数あることです。もう 1 つの小さな問題は、電子メール アドレスに依存する多くのコード (ユーザーの作成後に電子メールを送信するオブザーバーなど) が既にあることです。facebook_connect チュートリアルにある解決策は、検証をバイパスしてユーザー モデルを保存することでしたが、これは非常に間違っています。
User モデルをどのように再設計して、いずれかまたは両方の認証方法(標準および/または facebook_connect) を含めますか?
すべての検証をリファクタリングし (:unless => :is_facebook_user を使用)、オブザーバーに条件を設定するなど。
User テーブルに STI を実装します (それぞれにカスタム認証モジュールを持つ StandardUser / FacebookUser があります)
standard_user および facebook_user への多態的な参照を持つユーザー テーブル
その他のアイデア
「標準」アカウントを「facebook」アカウントにリンクする機能も必要であり、これが複雑になることに注意してください。
参考文献:
http://crazyviraj.blogspot.com/2010/01/test-cases-for-basic-facebook-connect.html