所以我有2个模型:城市和国家。城市belongs_to国家,你知道它是如何工作的。 如何在将城市名称放入搜索字段时查找国家/地区?
我知道它是怎么用1个模型Rails 5.如何在相关模型中搜索?
@countries = Country.where(["name LIKE ?", "%#{params[:search]}%"])
但什么工作做在这种情况下? 我会很感激任何有用的链接或提示,因为我找不到那样的东西。
所以我有2个模型:城市和国家。城市belongs_to国家,你知道它是如何工作的。 如何在将城市名称放入搜索字段时查找国家/地区?
我知道它是怎么用1个模型Rails 5.如何在相关模型中搜索?
@countries = Country.where(["name LIKE ?", "%#{params[:search]}%"])
但什么工作做在这种情况下? 我会很感激任何有用的链接或提示,因为我找不到那样的东西。
试试这个:
@countries = Country.joins(:cities).where("cities.name LIKE ?", "%#{params[:search]}%")
这可能是你在找什么:
@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/