したがって、最終的に、このメッセージがsprockets/context.rbに埋め込まれていることがわかりました。
Custom asset_path helper is not implemented
Extend your environment context with a custom method.
environment.context_class.class_eval do
def asset_path(path, options = {})
end
end
これは、Rails.application.assets.context_class.class_evalでasset_pathハンドラーを変更できることを示唆しているように見えますが、機能していないようです。これの例が見つからなかったので、それが私のせいなのかどうかはわかりません。
現在、これを機能させるための私のハックはこれです:
ActionView::AssetPaths.class_eval do
def compute_public_path(source, dir, options = {})
my_transform(source)
end
end
Sprockets::Helpers::RailsHelper::AssetPaths.class_eval do
def compute_public_path(source, dir, options = {})
my_transform(source)
end
end
ActionView::Helpers::AssetTagHelper::AssetPaths.class_eval do
def compute_public_path(source, dir, options = {})
my_transform(source)
end
end
これら3つすべてが必要というわけではないのではないかと思いますが、よくわかりません。スプロケットを知っている人はこれについてコメントしたいですか?