SinatraをWebフレームワーク、HAMLをページに使用すると、レイアウトファイルが/views/layout.haml
になります。私も/public
にjavascriptとcssファイルがあります。Sinatraでレイアウトパスが動作しない
%script{:type => "text/javascript", :src => "test.js"}
%link{:rel => "stylesheet", :type => "text/css", :href => "test.css"}
私はシナトラで定義された基本的なルートを持っている場合は、すべてが正常に動作します:レイアウトスクリプトやCSSはこれに似て定義されています内
get '/' do
haml :index
end
しかしルートは、このような 'のように複数の部分を有する場合/ route/1 'の場合、突然パスがtest.js
とtest.css
になりません。 hamlファイルは正しくロードされますが、レイアウト内のパスはもはや有効ではありません。
いくつか試した後、パスを"//public/test.js"
のように変更した場合、"test.js"
ではなく... /route/1
だけがロードされます。残念ながら、最初のルート/
はロードされなくなりました。
Sinatraではどのようにこのようなルートで処理されますか?