Customer という名前のモデルと contact という名前の別のモデルがあります。
連絡先テーブルに顧客 ID を保存しています。
検索方法では、連絡先テーブルと顧客テーブルから値を検索したいと考えています。
私の方法はここにあります: -
class Customer < ActiveRecord::Base>
def self.search(search)
if search
Customer.joins(:contacts).where("customers.company_name ILIKE? OR customers.status ILIKE? OR customers.types ILIKE? OR contacts.name ILIKE? OR contacts.email ILIKE?", "%#{search}%","%#{search}%", "%#{search}%","%#{search}%", "%#{search}%")
else
scoped
end
end
終わり
これは機能していますが、その時点で連絡先名が存在しない場合に検索を開始すると、検索されず、もう 1 つの問題は同じ顧客が 2 回表示されることです。