네, 거의 이와 비슷한 질문이 있지만 레일스 방식으로 대답 한 것 같지 않습니다. 너무 아파서 건조하지 않아요. Case-insensitive search in Rails model레일스 모델에서 대소 문자를 구별하지 않는 검색 ReWorded
이름을 기반으로 제품에 대한 내 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
...
이들 각각은 하드 코딩되어 있어야합니다. 다른 하나가 필요할 때 고객을 열고 코드를 복사하고 새로운 함수를 만들어야했습니다. 값이 정수 또는 문자열 또는 날짜인지 여부를 알지 못했기 때문입니다.
필자는 모든 모델에 대해이 기능을 구현하지 않아도되고 앞으로 어떤 시점에서 수행하고자하는 검색을 반복 할 필요가없는 방법을 찾고 있습니다.
다른 질문에 대한 답변을 주셔서 감사드립니다. 그들은 단지 "레일즈"처럼 보이지 않습니다. 그리고 저는 더 많은 것을 기대하고있었습니다. 교차 한 손가락, 4 개월 이상 된 사람은 나를 진짜 DRY로 안내 할 수 있습니다.
과 같은 검색 엔진을 사용해보십시오. 어떤 질문을 언급하고 있습니까? (도움이 될 수도 있습니다) –
다른 "동일"질문에 대한 링크가 추가되었습니다 – baash05
체크 아웃을 원할 수도 있습니다 - https://github.com/ernie/ransack - 그리고 이들 중 일부를 살펴 보시겠습니까? http://railscasts.com/?tag_id=30 - 만약 당신이 자신 만의 역할을 맡기를 원한다면 AREL을 사용하는 경향이 있습니다. 여기서 params [: company_name]은 구문'Customer.where ("company_name ILIKE?", params [: company_name] .present?' – house9