I'm beginning to learn this the hard way; If things aren't changing, if there's error messages that are totally random, if things don't change no matter how much you backtrack.... restart you application server(s) when developing in Ruby on Rails.
I've been sitting here getting more and more frustrated, breaking my code just to try to get the error messages to disappear... to no avail. Until I've restarted the application (web) server. And everything has worked fine. So, my tip is; restart often, especially if you're tinkering in places like /lib/.