isolate_namespace
のマウント可能なエンジン(なし)内に存在するいくつかの非標準アセット(つまり、jsonやバイナリファイルなどのimages / javascriptファイル/スタイルシートではないファイル)がありますapp/assets/data
。これらをアセットパイプラインの一部にしたいと思います(たとえば、画像と同じように)。それらをアセットパスコレクションに追加できます。例:
class Engine < ::Rails::Engine
config.after_initialize do
Rails.application.config.assets.paths << root.join("app", "assets", "data")
end
end
Railsコンソールで、アセットがアセットパイプラインに表示されていることがわかります(例:経由Rails.application.assets[]
とActionController::Base.helpers.asset_path
)。たとえば、ファイルの場合、ホスティングアプリのRailsコンソールapp/assets/data/foo.json
のヘルパーがパスを教えてくれますが、そのパスが機能しない場合は、asset_path
assets/foo.json
ActionController::RoutingError (No route matches [GET] "/assets/foo.json")
エラー。
ホスティングRailsアプリにこれらのファイルを提供させるにはどうすればよいですか?