WATANABE Hirofumi wrote: > Hi, > > "Frantisek Fuka" <fuxoft / gmail.com> writes: > > >> When using: "require 'engine.rbx'" under mod_ruby, I get "File does not >> exist" error. However, if I change "require" to "load", it gets loaded >> allright. the file and it directory has correct permissions (755). >> "Untaint"-ing the file does solve the problem. >> >> I am particularly confused about this error - how can the ruby say the >> file does not exist when it evidentnly does? >> > > See ri 'Kernel#require'. > > If the file has the extension ``.rb'', it is loaded as a source file; > if the extension is ``.so'', ``.o'', or ``.dll'', or whatever the > default shared library extension is on the current platform, Ruby > loads the shared library as a Ruby extension. > Otherwise, Ruby tries adding ``.rb'', ``.so'', and so on to the name. > > Oops! Right now I tried this, it really behaves this way. I suspected initially that this was the case, but in a quick experiment it had worked for both "require" and "load", so I became confused. But now I realized I tried it with ".rb" extension rather than ".rbx". /me stupid. I didn't notice the "file" part in the "file _and_ directory have correct permissions", so the permissions problem as a logical afterthought and advice didn't strike this obstacle. :-D Jakub