URLパスを含む配列があり、配列で指定されたURLのフィールドの1つ(「URL」というラベルが付いている)のテーブルでデータベースを検索できるようにしたい。
だから私は私が達成したいことの単純化されたバージョンを持っています。
urls = ["url1", "url2", "url3", "url4", ... ]
urlsInDB = []
results = Link.all
urls.each() do |url|
if not results.where(:url=>url).blank?
urlsInDB << url
end
end
ただし、「。all」によって取得された一連の結果に対して「.where」を呼び出すことはできないことを私は知っています。これをこのように実行して、URLのURLごとにデータベースが一度だけクエリされるようにします。これは長さがnになる可能性があり、 n個のクエリが必要になるためです。
何か案は?