2016-04-29 3 views
0

У меня есть целевая страница sinatra. Сервер запускается с выполнением index.rb в корневой папке.Sinatra не загружает активы

Например:

get '/en' do 
    I18n.locale = 'en' 
    erb :index, locals: {langswitch: "/ru", current_locale: "en"} 
    end 

оказывает index.erb и работает хорошо.

Эта страница:

<link rel="stylesheet" type="text/css" href="index.css"> 

И если открыть эту ссылку, он указывает на http://0.0.0.0:9292/index.css, извлекает файл CSS и делает страницу, как ожидалось.

Однако, есть также

get '/agreement/en' do 
    I18n.locale = 'en' 
    erb :agreement, locals: {langswitch: "/ru", current_locale: "en"} 
    end 

Если я посещаю по той же ссылке с этой страницы, вместо этого он приводит к http://0.0.0.0:9292/agreement/bootstrap.css, вместо http://0.0.0.0:9292/index.css и не в состоянии восстановить файл.

То же самое со всеми моими изображениями, другими файлами css.

ответ

2

Сначала вам нужно разместить все свои активы в общей папке. Затем вам необходимо модифицировать <link rel="stylesheet" type="text/css" href="index.css"> до <link rel="stylesheet" type="text/css" href="/index.css">. Итак, все, что вам нужно сделать, это поставить / до index.css

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