Use várias pastas de modelos no Sinatra

Por padrão, o Sinatra renderiza modelos do diretório de visualizações . Para substituir isso, você pode definir a opção de visualizações :

set :views, 'views_directory_name'

Mas se você quiser usar modelos de vários diretórios, também deve substituir o método find_template :

configure do
set :views, ['views', 'some_other_directory']
end

helpers
do
def find_template(views, name, engine, &block)
views
.each { |v| super(v, name, engine, &block) }
end
end

Link para o problema relacionado ao github: https://github.com/sinatra/sinatra/issues/48