2017-06-17 67 views
0

所以我有2個模型:城市和國家。城市belongs_to國家,你知道它是如何工作的。 如何在將城市名稱放入搜索字段時查找國家/地區?
我知道它是怎麼用1個模型Rails 5.如何在相關模型中搜索?

@countries = Country.where(["name LIKE ?", "%#{params[:search]}%"]) 

但什麼工作做在這種情況下? 我會很感激任何有用的鏈接或提示,因爲我找不到那樣的東西。

回答

1

試試這個:

@countries = Country.joins(:cities).where("cities.name LIKE ?", "%#{params[:search]}%") 
0

這可能是你在找什麼:

@countries = Country.all.includes(:cities).where("cities.name" => params[:search]).all 

順便說一句,這是一個壞主意,直接把搜索表單進入一個SQL查詢就像你原來的文章中寫的一樣,因爲它打開你的應用程序直到SQL注入。在這裏閱讀這篇文章的標題下的 「A1 SQL注入」:

https://blog.codeship.com/preproduction-checklist-for-a-rails-app/