> I suppose that grails appends the extra slash in every case, when it
> probably should discriminate between template and non-template cases for the
> addition of the slash in the output when a file is not found during a
> render() call.
Sorry, I was a bit unclear in my reply. I understand why you were
having the issue. I just wanted to know how to reproduce the error
message with the double slashes so I can track down where it's coming
from and why. Anyway, since I get the error with an incorrect value of
"templateLocBase", I'll use that.
Gotcha. The simple demo app that I put together tries to load a resource called something like:
It works Ok. In my main application, I was trying to load a resource called:
But the problem was, I used introspection to get the 'signupinfo' bit, and I (stupidly) did a toLowerCase() on the name of the class (rather than just lower-casing the first character). The actual physical directory name was:
(note the capital 'I' in 'signupInfo'). On MacOS X, case sensitivity is an option. The OS respects case in the display of a file name, but a request to load 'signupinfo' and 'signupInfo' will both return the same file. As I'm sure you're aware, Linux treats different case as a different filename, which is why it barfed when running on Tomcat under Ubuntu.
So, to answer your question: just trying to load a file that does not exist should produce the same FileNotFound error, and if you want to re-recreate it exactly, then make the difference something to do with the case.