【发布时间】:2016-05-04 01:53:35
【问题描述】:
我有一个表单,其中包含大约三个表的字段,用户可以填写任何字段并进行搜索。
例如我有这些表和列
车辆:
- rego_num
- 制作
- 型号
- vin
- engine_num
- 传输,...
客户:
- 姓名
- 姓
- 电子邮件地址
地址:
- 地址1
- 地址2
- 地址3
- 电话
- work_num
- primary_num
- 传真
Vehicle belongs_to Customer
Customer has_one address
用户可以在上述任何字段中进行搜索,例如,他们可以单独输入 rego,然后单独使用品牌和型号或名称或手机查找 serch 或 rego,
他们可以输入部分电话号码,它应该找到它,电话是整数列。
本来想找车辆一栏,如果有车辆再找客户,但问题是他们可以单独输入客户字段。
我想我可以写一个连接并做一个 where 查询,比如
vehicle.joins(:customer)
但地址与车辆有关,谁能建议我如何将参数发送到搜索方法并编写查询以查找记录
我检查了 pg_search gem,它有一个关键字可以搜索多个列,但我有多个值可以搜索特定列。
【问题讨论】:
-
也许这个 gem 会有所帮助:github.com/activerecord-hackery/ransack 它可以让您轻松搜索模型及其关联,您可以一次通过单个表单字段搜索所有属性。
标签: ruby-on-rails ruby postgresql search