3 uses "load("second.rb")" to load 2 in the middle of its .rb file (that's a huge simplification, but the complex code in rails boils down to "load". They do it to be able to refresh code after it gets changed during development, I think).
Ahhh ... require won't load the same file twice, but load doesn't know anything about require's list of file names. So files loaded by 'load' are not reported to 'require' ... or something like that.
If Rails is working hard to load the file itself, is it possible for you to omit your require statement? There are a lot of declarations in rails that just handle the file loading automatically for you ... is there something you can take advantage of?