当运行时:
rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets
所有文件都预编译了,但是我的/app/assets/images/*
没有。
我甚至尝试将其添加到environment/production.rb
中。
config.assets.paths << "#{Rails.root}/app/assets/images"
有什么问题吗?谢谢!
当运行时:
rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets
所有文件都预编译了,但是我的/app/assets/images/*
没有。
我甚至尝试将其添加到environment/production.rb
中。
config.assets.paths << "#{Rails.root}/app/assets/images"
有什么问题吗?谢谢!
添加到environment/production.rb
。config.assets.precompile += %w[*.png *.jpg *.jpeg *.gif]
config.assets.precompile += %w[*.png *.jpg *.jpeg *.gif]
。 - Morgan Christianssonconfig/initializers/assets
文件夹中使用Rails.application.config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif)
。 - ohhh服务器使用以下格式:
rails assets:precompile:all -e production
rake assets:precompile:all
命令吗? - Kieran Klaassenassets:precompile
命令来指定环境,它默认为生产环境。 - Jeff Dickeyconfig.assets.precompile << %r(bootstrap-sass/assets/fonts/bootstrap/[\w-]+\.(?:eot|svg|ttf|woff2?)$)
移除宝石或更新它可能会解决问题。 这是因为该宝石是为旧版Rails制作的。
这并没有直接从控制台输出中清楚地表明。
对于我的情况,由于当时无法更新宝石,解决方案是通过在application.rb
中添加来移除有问题的资源路径以实现兼容性:
config.after_initialize do
bootstrap_index = config.assets.precompile.index(/bootstrap\/glyphicons-halflings-regular\.(?:eot|svg|ttf|woff2?)$/)
config.assets.precompile.delete_at(bootstrap_index)
end
并将应该预编译的缺失文件添加到:
config.assets.precompile += %w( .svg .eot .woff .ttf .woff2)
environment/production.rb
中添加以下内容:config.assets.precompile += %w[*.png *.jp?g *.gif]
为什么这不是默认设置呢?就像这行代码说的那样: (application.js
、application.css
和所有非 JS/CSS 文件已经被添加了) - Kieran Klaassenconfig.assets.precompile += %w[*.png *.jpg *.jpeg *.gif]
。 - Morgan Christiansson