如何在生产中访问资产管道样式

时间:2012-02-05 06:36:31

标签: ruby-on-rails heroku asset-pipeline

我有一个样式表文件,我放在“vendor”文件夹

供应商>资产>样式表>的style.css

在我的开发机器上,如果我尝试用“/assets/style.css”访问它,我可以。

在生产中它无法访问。页面上的样式被破坏了:

ActionController::RoutingError (No route matches [GET] "/assets/style.css")

我是如何做到这一点的?

我将其放入供应商的原因是我只希望这些样式包含在特定页面中,而不是在整个网站中进行编译和包含,如果有更好的方法将这些资产仅包含在特定页面中,请提供建议。

顺便说一下,我正在Heroku上部署我的应用程序。

2 个答案:

答案 0 :(得分:2)

要在生产中访问它,您需要将该文件添加到application.rb中的预编译数组中:

config.assets.precompile += ['styles.css']

您应该使用Rails的帮助程序引用视图中的文件:

stylesheet_link_tag('styles')

因为这可以确保在源中生成正确的指纹。

答案 1 :(得分:0)

我不认为这个样式表在供应商路径中的事实是一个问题,因为链轮也应该在供应商中搜索(从我在资产管道指南中读到的内容)。

您如何尝试访问此CSS文件?你试过试试吗

$rake assets:precompile

添加/提交并重新推送到Heroku远程?