2017-02-03 6 views
1

Делаю модульное приложение:Нелинейные шаблоны не работают вместе с модулем?

main.rb

require "sinatra/namespace" 
require "haml" 
Dir.glob("servers/*/server.rb").each do |server| 
    require_relative server 
end 

И я хочу сделать встроенный:

шаблонизации

серверов/некоторые/server.rb

namespace "/some/hello" do 
    get "/" do 
    haml :index 
    end 
end 

__END__ 

@@ index 
!!! 
%html 
    hello 

Но я получаю:

Нет такого файла или каталога - количество просмотров/index.haml

Это работает, если переместить шаблон main.rb но это своего рода не модульными больше.

+1

примечание [здесь] (http://www.sinatrarb.com/intro.html#Inline%20Templates) кажется применимым. Вам нужна синатра в другом файле? – Anthony

+0

@ Энтони, я поместил 'enable: inline_templates' в main.rb (перед требованием модулей), но ничего не изменилось – Nakilon

ответ

0

была та же ошибка в другом случае:

main.rb

require_relative "server_common" 

get/do 
    haml :index 
end 

__END__ 

@@ index 
!!! 
..... 

server_common.rb

require "sinatra" 
..... 

S olution:

require "sinatra" 
set :inline_templates, caller.first[/[^:]+/] 

также добавить это потому, что Синатра не автозапуск.

set :app_file, caller.first[/[^:]+/] 

 Смежные вопросы

  • Нет связанных вопросов^_^