0
我使用geocoder gem來獲取有關用戶的位置信息。我面臨的問題是如何將這些信息作爲變量傳遞給視圖和應用程序?將地理編碼器信息傳遞給視圖?
我不想在每次加載新頁面時查詢api,但也想保留視圖和控制器的位置信息並使用它。
我使用geocoder gem來獲取有關用戶的位置信息。我面臨的問題是如何將這些信息作爲變量傳遞給視圖和應用程序?將地理編碼器信息傳遞給視圖?
我不想在每次加載新頁面時查詢api,但也想保留視圖和控制器的位置信息並使用它。
要將控制變量從控制器傳遞到視圖,您需要在變量前面使用@
(例如,@geodata
是您的對象)。
要保存的信息,您應該(通過多態性也許其他機型)一些外地location
添加到您的User
模型或創建一個新的Geowhatever
模型,並將其分配給每個用戶。
這樣你就可以在你的視圖中使用@user.location
或@user.geowhatever.location
。
進行緩存時唯一需要注意的是保持緩存是最新的。這裏觀察員UserObserver
可以完成這項任務。
用戶位置可能會不時變化,因爲我通過IP地址進行地理編碼,所以無法將其保存在用戶模型中。創建一個新模型併爲其分配價值可能是一條路。 我將不得不做一些閱讀,但非常感謝您的幫助。 –