код:
requie 'a/a1'
попытается найти каталог a из текущего рабочего каталога, что может отличаться от того, что вы думаете, особенно если выполняется из среды, отличной от командной строки (например, консоль rails или textmate).
require File.dirname(__FILE__) + '/a/a1
добавляет '/ a / a1 к пути к файлу, в котором появляется эта строка, так что вы всегда будете уверены, что получаете нужный файл, в какой бы среде вы ни работали.