0
我使用geocoder gem来获取有关用户的位置信息。我面临的问题是如何将这些信息作为变量传递给视图和应用程序?将地理编码器信息传递给视图?
我不想在每次加载新页面时查询api,但也想保留视图和控制器的位置信息并使用它。
我使用geocoder gem来获取有关用户的位置信息。我面临的问题是如何将这些信息作为变量传递给视图和应用程序?将地理编码器信息传递给视图?
我不想在每次加载新页面时查询api,但也想保留视图和控制器的位置信息并使用它。
要将控制变量从控制器传递到视图,您需要在变量前面使用@
(例如,@geodata
是您的对象)。
要保存的信息,您应该(通过多态性也许其他机型)一些外地location
添加到您的User
模型或创建一个新的Geowhatever
模型,并将其分配给每个用户。
这样你就可以在你的视图中使用@user.location
或@user.geowhatever.location
。
进行缓存时唯一需要注意的是保持缓存是最新的。这里观察员UserObserver
可以完成这项任务。
用户位置可能会不时变化,因为我通过IP地址进行地理编码,所以无法将其保存在用户模型中。创建一个新模型并为其分配价值可能是一条路。 我将不得不做一些阅读,但非常感谢您的帮助。 –