Coffeescript を使用して JS ウィジェットを作成しています。コンパイル時に CSS/SCSS および HTML/HAML テンプレートを JS ウィジェットに取り込むために、いくつかのトリックを実行しています。
# widget.js.coffee.erb
class Widget
constructor: (options) ->
@template = <%= Haml::Engine.new(
File.read(
File.expand_path("../../templates/widget.html.haml", __FILE__))).
render.to_json %>
@css = <%= Sass.compile_file(
File.expand_path("../../stylesheets/widget.css.scss", __FILE__)).
to_json %>
問題は、HTML または CSS を変更すると、Rails が開発中の Coffeescript を再コンパイルしないことです。これは、coffeescript ファイルが変更されていないためです。再コンパイルを強制するには、ばかげた空白の変更を加える必要があります。これは面倒です:-)
リクエストごとにアセット パイプラインに特定のファイルを強制的にコンパイルさせる方法についてのアイデアはありますか?