Rails查询多个表的关联

时间:2014-02-12 14:53:48

标签: mysql ruby-on-rails activerecord associations

我开发了一个rails应用程序,其中我有两个表'city'和'states'。在搜索框中,我发送一个要从城市或州获取的短语。
搜索框中的文本可以类似于“伊利诺伊州”或“芝加哥”,但查询应该以这样的方式查看城市和州表,以检查给定的参数是否在表中的任何一个中找到。
什么应该在铁路上查询?
我对rails非常陌生,所以,查询还不是很好。

1 个答案:

答案 0 :(得分:1)

在这种情况下,您无法比针对两个表独立运行查询做得更好:

@cities = City.where(name: params[:search])
@states = State.where(name: params[:search])

假设列为name

或者如果您想允许更灵活的搜索:

@cities = City.where("name LIKE '?%'", params[:search])
@states = State.where("name LIKE '?%'", params[:search])