2016-04-29 16 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/index.cssのではなく、http://0.0.0.0:9292/agreement/bootstrap.cssにつながり、ファイルを取得するために失敗しました。

私のすべての画像、他のCSSファイルと同じです。

答えて

2

まず、すべてのアセットをパブリックフォルダに配置する必要があります。次に、変更する必要があります。 <link rel="stylesheet" type="text/css" href="index.css"><link rel="stylesheet" type="text/css" href="/index.css"> あなたがする必要があるのは、index.cssの前に/を入れることです。

関連する問題