Frankly, the best long-term solution against rats is to keep a cat.