我有一个样式表文件,我放在“vendor”文件夹
下供应商>资产>样式表>的style.css
在我的开发机器上,如果我尝试用“/assets/style.css”访问它,我可以。
在生产中它无法访问。页面上的样式被破坏了:
ActionController::RoutingError (No route matches [GET] "/assets/style.css")
我是如何做到这一点的?
我将其放入供应商的原因是我只希望这些样式包含在特定页面中,而不是在整个网站中进行编译和包含,如果有更好的方法将这些资产仅包含在特定页面中,请提供建议。
顺便说一下,我正在Heroku上部署我的应用程序。
答案 0 :(得分:2)
要在生产中访问它,您需要将该文件添加到application.rb
中的预编译数组中:
config.assets.precompile += ['styles.css']
您应该使用Rails的帮助程序引用视图中的文件:
stylesheet_link_tag('styles')
因为这可以确保在源中生成正确的指纹。
答案 1 :(得分:0)
我不认为这个样式表在供应商路径中的事实是一个问题,因为链轮也应该在供应商中搜索(从我在资产管道指南中读到的内容)。
您如何尝试访问此CSS文件?你试过试试吗
$rake assets:precompile
添加/提交并重新推送到Heroku远程?