Rails 4.2、Ruby 2.2 を使用しています
次を使用して新しいアプリを生成しました: rails new app --skip-sprockets
すべての Gulp タスクが正常に実行されています (それらの多く: gulp-changed および gulp-livereload から gulp-minify-css、gulp-uncss などまで)。
gulp-rev-all を使用すると、MD5 指紋命名規則ですべてのアセットを生成できます。
それらは rev-manifest.json に適切に保存されます
app/assets/rev-manifest.json:
{
"rev-manifest.json": "rev-manifest.9680cee8.json",
"images/measurement.png": "images/measurement.cedb4145.png",
"images/measurement2.png": "images/measurement2.cedb4145.png",
"scripts/chachin.js": "scripts/chachin.5f30b461.js",
"stylesheets/chachin.scss": "stylesheets/chachin.4c7c499d.scss"
}
アプリ/ヘルパー/application_helper.rb
module ApplicationHelper
def stylesheet_link_tag(url, options={})
url = AssetManifest.stylesheet_path(url)
super(url, options)
end
def crossorigin_javascript_include_tag(url, options={})
url = AssetManifest.javascript_path(url)
super(url, options)
end
def image_tag(url, options={})
url = AssetManifest.asset_path(url)
super(url, options)
end
def image_path(url, options={})
url = AssetManifest.asset_path(url)
super(url, options)
end
def image_url(url, options={})
url = AssetManifest.asset_path(url)
super((ActionController::Base.asset_host || "") + url, options)
end
end
config/initializers/asset_manifest.rb
class AssetManifest
def self.manifest
if File.exists?("app/assets/rev-manifest.json")
@manifest ||= JSON.parse(File.read("app/assets/rev-manifest.json"))
end
end
def self.stylesheet_path(url)
if AssetManifest.manifest
url += ".css" unless url.end_with?(".css")
AssetManifest.manifest[url] || url
else
url
end
end
def self.javascript_path(url)
if AssetManifest.manifest
url += ".js" unless url.end_with?(".js")
AssetManifest.manifest[url] || url
else
url
end
end
def self.asset_path(url)
if AssetManifest.manifest
AssetManifest.manifest[url] || url
else
url
end
end
end
何か不足していますか?