私は宝石 (Google::APIClient.new) で定義されたモデルを持っており、コントローラーでその宝石のインスタンスを作成しました。
各ユーザーごとにコントローラーアクション全体でインスタンスを共有したいので、何らかの方法で永続化する必要があります。セッション変数 (session[:client] = Google::APIClient.new) と自分のモデル (User.goog_client = Google::APIClient.new) のフィールドに保存しようとしましたが、うまくいきませんでした. 各ユーザーごとに別の宝石からモデルを永続化する適切な方法はありますか?
前もって感謝します!
Soln: より単純な Soln を見つけ、属性をセッションに保存してからモデルに再読み込みします。
session[:access_token] = client.authorization.access_token
session[:refresh_token] = client.authorization.refresh_token
session[:expires_in] = client.authorization.expires_in
session[:issued_at] = client.authorization.issued_at
client.authorization.access_token = session[:access_token]
client.authorization.refresh_token = session[:refresh_token]
client.authorization.expires_in = session[:expires_in]
client.authorization.issued_at = session[:issued_at]