是的,有一个问题几乎与此类似,但我不认为它是以铁轨方式回答的。它不是伤害Case-insensitive search in Rails model
我想在postgresql数据库中搜索基于名称的产品。 我也可能想为客户搜索同一个数据库。
所以我使用了上一个问题中的建议。 我的产品表中有一个功能 Product.find_by_name #takes名称并找到与前一个答案相同的内容。
轻松!现在顾客怎么样......
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
...
其中每一项都必须进行硬编码。当我需要另一个时,我必须打开客户,复制代码,并创建一个新函数。因为我不知道这些值是整数,字符串还是日期。
我正在寻找一种方法,不必为每个模型实现这一点,并且我可能希望在将来的某个时刻进行每次搜索迭代。
我想感谢另一个问题的答案。他们似乎并不像“Rails”那样,我希望能有更多的东西。手指交叉,超过4个月的人,可以指出我真正的干。