私のアプリケーションには、ユーザー オブジェクト モデルがあります。私は koala と OmniAuth を使用して Facebook にアクセスしています。
コントローラーがデータを適切にシリアル化するように、Facebook からモデルにデータを追加する方法を見つけようとしています。
次のように、コントローラーで Facebook からデータを取得することができました。
token = request.env["omniauth.auth"]["credentials"]["token"]
api = Koala::Facebook::API.new(token)
api.get_object("me")
そして、DB列なしでモデルに属性を追加する方法を考え出したと思いますが、それをシリアル化された応答に保持する方法で:
def fb_info
{"fb_info" =>"should be here"}
end
def attributes
super.merge('fb_info' => fb_info)
end
では、すべてをまとめるにはどのような方法が望ましいのでしょうか? モデルに何らかの属性を設定する必要があります。そのためには、そこにアクセス トークンが必要です。コントローラーから呼び出してそれらを設定したり、トークンをモデルに渡したりするのは面倒です。これを処理するきれいな方法はありますか?