繁体   English   中英

Rails模型中不区分大小写的搜索

[英]Case-insensitive search in Rails model ReWorded

是的,几乎有一个完全像这样的问题,但是我认为这个问题并没有得到解决。 它不是DRY,所以会伤害Rails模型中不区分大小写的搜索

我想在我的postgresql数据库中搜索基于名称的产品。 我也可能想在同一数据库中搜索客户。

因此,我利用了上一个问题中的建议。 我的产品表Product.find_by_name中有一个函数#取名称并按照前面的答案建议的方式查找。

容易! 现在客户呢?

Customer.find_by_contact_name
Customer.find_by_email_address
Customer.find_by_company_name
Customer.find_by_phone
Customer.find_by_contact_name_and_phone
Customer.find_by_industry_id_and_contact_name  #the insdustry_id is not text so it can't be found. 
# Ahh snot I forgot a few.
Customer.find_by_contact_name_and_company_name
Customer.find_by_contact_name_and_email_address
Customer.find_by_contact_name_and_phone
Customer.find_by_industry_id_and_email_address
...

其中每一个都必须进行硬编码。 当我需要另一个时,我必须打开客户,复制代码,然后创建一个新函数。.因为我不知道值是整数,字符串还是日期。

我正在寻找一种不必在将来某个时候想对每个模型和搜索迭代进行实现的方法。

我要感谢您对另一个问题的回答。 他们看起来并不像“铁轨”那样,我希望有更多东西。 手指交叉,有四个月以上的人可以指点我真正的DRY。

您是否要同时搜索所有这些属性? 如果是这样,您可能希望尝试使用Thinking Sphinx之类的搜索引擎

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM