Передача информации геокодера в представления? - PullRequest
0 голосов
/ 28 июля 2011

Я использую geocoder gem для получения информации о местоположении пользователя. Вопрос, с которым я сталкиваюсь, заключается в том, как передать эту информацию представлениям и приложению как переменную?

Я не хочу запрашивать API каждый раз при загрузке новой страницы, но также хочу сохранить информацию о местоположении, которая просматривает и контроллеры, и использовать ее.

1 Ответ

1 голос
/ 28 июля 2011

Чтобы передать глобальную переменную из контроллера в представление, вам нужно использовать @ перед вашими переменными (например, @geodata - ваш объект).

Чтобы сохранить информацию, вы должны либо добавитькакое-то поле location для вашей модели User или создайте новую модель Geowhatever и назначьте ее каждому пользователю (и, возможно, другим моделям с помощью полиморфизма).

Таким образом, вы можете сделать @user.location или@user.geowhatever.location в ваших представлениях.

Единственное предостережение при выполнении кэширования - поддерживать кэш в актуальном состоянии.Здесь наблюдатель UserObserver может выполнить задачу.

...