簡體   English   中英

rails geocoder gem查找具有匹配地址的用戶

[英]rails geocoder gem find users that have matching address

我在我的Rails應用程序中使用了Geocoder gem,它為每個用戶地址提取了經度和緯度。 用戶的每個個人資料都有一個地址(以及以后的地址)。 該配置文件當前具有一個地址,該地址屬於該配置文件。

我想做的就是搜索區域,所以我正在使用near()函數,當我想搜索Address模型時,該函數在控制器上工作正常。 它給我返回一個@實例,可以在視圖中使用它,並循環遍歷結果以提取address.profile.suburb或.name等形成每個地址結果。 但這是在視圖中完成的。

我想做的是有一個@users實例,因為我想做的下一件事是由其他模型過濾-我有一個Style模型,如果他們檢查了過濾器Style-任何具有Style AND的用戶的地址都接近()將返回到@user實例,然后可以在視圖中使用它。

不確定如何執行此操作,我嘗試的所有方法均不起作用-我認為這將類似於User.all.profiles.address.near(params [:search])

但然后我還需要按樣式過濾,該樣式在未連接到地址(是用戶模型)的表中

或類似的東西...

幫助贊賞。

您提供的上下文非常模糊。 是樣式表本身還是用戶表中的列? 樣式和用戶之間有什么關聯? (has_many,has_one,...)

想法是將其分解為多個步驟。 假設用戶具有has_one樣式,並且params[:style]是預期樣式的ID。

您可以執行以下操作:

@users = User.all.profiles.address.near(params[:search])
@users.joins(:style).where('styles.id = ?', params[:style])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM