I've just implemented something like this in Nesta. I wanted to be
able to override the default views/foo.haml template by creating an
alternative in local/views/foo.haml that will only be used if it
exists on disk.
Ultimately all you need to do is pass the alternative view directory
to the template rendering method in the options hash:
haml(:foo, :views => "my/alternative/view/path")
Here's the patch I just committed to Nesta - it should be pretty easy
to work out how to re-use it elsewhere:
http://github.com/gma/nesta/commit/fa82d2706bc39aa3d708058721499a20c5d0dec4
Cheers,
Graham