Не совсем то, что вы просили, но это немного ужесточает:
@match = Item.find_by_name params[:name]
@near_matches = Item.where('name LIKE ?', "%#{params[:name]}%")
@near_matches = @near_matches.where('id != ?', @match.id) if @match
Это работает, потому что запросы ленивы - они на самом деле не выполняются, пока не должны быть.
Знак вопроса предназначен для более безопасной переменной связывания.