padrino-helpersでasset folderの名前を変えたい
development環境の場合、sinatra-assetpack で指定したjsやcssは/js/application.js
/css/application.css
でサーブされるのに、padrino-helpersのjavascript_include_tag
などで追加したものは /javascripts/foo.js
や/stylesheets/bar.css
になる。
なんか気持ち悪いので統一したいなと調べてみたら変更出来るオプションがあった。
set :css_asset_folder, 'css' set :js_asset_folder, 'js'
ref. https://github.com/padrino/padrino-framework/pull/1528
そもそもなぜこんなことに?って話なんだけど、
- 素のSinatraで書き始める
- ページャに Kaminari を使おう!
- kaminari/sinatra が padrino-helpers に依存しているから入れる
- sinatra-contribの
content_for
が padrino-helpers のcontent_for
に上書き(?)される - HTMLがエスケープされるようになってjs/cssが読み込まれない
- しょうがないので
include_tag
を使う - あ、あれ、フォルダ名が・・・
という経緯。padrino-assetsというのもあるみたいだし、初めからPadrinoで作れば幸せだったかもしれない。
ちなみにsinatra-assetpackの方でも
serve '/javascripts', :from => 'assets/javascripts' js :application, [ '/javascripts/foo.js', ]
のように変えることは出来たけど、/javascriptsより/jsの方が好きなので。