Rails новичок здесь, так что может быть лучший выход, но вот мои 20 на этом ..
Используйте application_controller, чтобы создать метод, который сам загружает туда объект @gmail_session, таким образом, он является экземпляром var и доступен для всех контроллеров / представлений.
Например,
def get_using_remote_call
@gmail_session = //do some stuff
end
Затем вы можете пойти дальше и добавить after_filter в application_controller, который вызывает функцию каждый раз при загрузке любого из контроллеров, поскольку после первой загрузки в производство они кэшируются, это не должно создавать проблем, пока ваше приложение не посещает 10000 с. день ...
Другим способом сделать то же самое было бы включить модуль в config / libs и добавить каталог для автозагрузки в ваш config / application.rb следующим образом:
config.autoload_paths += %W(#{config.root}/lib)
Это автоматически загрузит модуль / класс / что угодно, и тогда вы можете просто вызвать функцию get_using_remote_call
и обработать ее как объект и связать ее, или вы можете
@gmail_session = get_using_remote_call
ИЛИ просто используйте это в after_filter / before_filter вашего контроллера :)
Надеюсь, это поможет!