我想知道资产:预编译是否完成了rake。
目前,我检查是否存在public/assets
。
Rails.application.assets.find_asset('application.css')
find_asset
在这种情况下不起作用。
答案 0 :(得分:1)
您可以subelsky
使用this task来检查资产是否已预先编译:
namespace :assets do
task :check do
root_dir = File.join(File.dirname(__FILE__),"..","..")
assets_last_modified_at = Dir["#{root_dir}/app/assets/**/**"].map { |p| File.mtime(p) }.sort.last
assets_last_compiled_at = Dir["#{root_dir}/public/assets/**/**"].map { |p| File.mtime(p) }.sort.last
if assets_last_modified_at > assets_last_compiled_at
fail "Assets need to precompiled; last asset modified at #{assets_last_modified_at}"
end
end
end
然后您可以将此任务添加到任务的依赖项中:
task :mine => 'assets:check'
...
end