将地理编码器信息传递给视图?

时间:2011-07-28 12:58:02

标签: ruby-on-rails geocoding

我正在使用geocoder gem来获取有关用户的位置信息。我面临的问题是如何将这些信息作为变量传递给视图和应用程序?

我不希望每次加载新页面时都查询api,但也希望保留视图和控制器的位置信息并使用它。

1 个答案:

答案 0 :(得分:1)

要将gobal变量从控制器传递到视图,您需要在变量前使用@(例如@geodata作为您的对象)。

要保存信息,您应该向location模型中添加一些字段User,或者创建一个新的Geowhatever模型,并将其分配给每个用户(也可以通过多态性分配给其他模型) )。

这样您就可以在视图中执行@user.location@user.geowhatever.location

进行缓存时唯一需要注意的是保持缓存是最新的。观察者UserObserver可以在这里完成任务。