我的Rails应用无法从生产中的宝石中找到预编译的图像。所有其他资产和开发中的所有资产一样正常运作。在生产模式下运行时出现以下错误;
ActionController::RoutingError (No route matches [GET] "/assets/dataTables/sort_asc.png"):
资产似乎正在预编译,来自app / assets / images的图像显示出来。
有人可以解释这个问题吗?
答案 0 :(得分:1)
重新编译资产对我有用。
删除公共/资源
1.rake assets:clobber RAILS_ENV = production
资产编译
2.rake assets:预编译RAILS_ENV =生产
3.restart服务器,例如(nginx)
归功于albert.qing的回答here
我可能会补充说我正在使用docker,所以我在docker文件的末尾添加了这一步
/ Dockerfile
FROM ruby:2.2.3-slim
.
.
.
# Precompile Rails assets
RUN bundle exec rake assets:clobber RAILS_ENV=production
RUN bundle exec rake assets:precompile RAILS_ENV=production
.
.
.