Итак, у меня есть приложение sinatra, над которым я работаю, с приложением, на котором размещены несколько различных микросайтов для клиентов.Структура моего каталога public и views выглядит следующим образом:
sites/
site1/
public/
style.css
views/
layout.haml
general.haml
site2/
public/
style.css
views/
layout.haml
general.haml
Теперь, когда приходит запрос, я получаю следующие две строки:
set :views, Proc.new { File.join(root, "sites/#{site}/views") }
set :public, Proc.new { File.join(root, "sites/#{site}/public") }
Когдапоступает входящий запрос, и сайт определяется как «site1», представления работают точно так, как требуется, с их рендерингом из соответствующей папки.Однако вызов маршрута «/style.css» возвращает ошибку 404.
Когда я делаю публичный каталог в корне приложения и помещаю туда style.css, он работает нормально.Тем не менее, мне нужно, чтобы это работало на индивидуальной основе.Я выхожу из официальных документов от Синатры , но все равно не работает, даже если я установил
enable :static
или если я использую
set :static, true
Как описано в документах.Есть идеи?