2017-06-17 40 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/