2014-02-12 81 views
0

Iam开发了一个rails应用程序,其中我有两个表“城市”和“州”。从搜索框中,我发送一个短语,从城市或州来获取。
搜索框中的文本可以像'伊利诺伊'或'芝加哥'一样,但是查询应该以这样一种方式查看两个城市和州的表,以检查给定的参数是否在表中找到或者不。
在rails中应该是什么查询?
我是相当新的rails,所以,还不太擅长查询。Rails查询多个表的关联

回答

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])