2013-04-18 69 views
11

在我的本地机器上,当我查看我的Rails应用程序时,我的样式表已成功链接到/assets/stylesheets/,但是在Heroku上,它更改为/stylesheets/,推测在public目录中,并且不起作用!如何让我的样式表在编译时移至public/stylesheetsHeroku上的Rails样式表

编辑:

文件目录后rake assets:precompile

app 
    assets 
    stylesheets 
     application.css 
     application.min.css 
     home.css 
     home.css.scss 
     home.min.css 
     scaffolds.css 
     scaffolds.css.scss 
     scaffolds.min.css 
     startups.css 
     startups.css.scss 
public 
    assets 
    application-3701cb84bbc3c20d5a7ec1aac608fbdb.js 
    application-3701cb84bbc3c20d5a7ec1aac608fbdb.js.gz 
    application-f7ff7ad51f3528ccca1b5c7f2d5b5915.css 
    application-f7ff7ad51f3528ccca1b5c7f2d5b5915.css.gz 
    manifest-ad3babc6c84cc0b38f1a98eb594b8235.json 
    rails-afd7b40a0142ed24738b640e78388de4.png 

这里是application.html.haml我的样式表链接:和

stylesheet_link_tag "flat-ui", "home.min", media: "all" 

gem flatui-rails是我的Gemfile *= require flat-ui是我application.css文件。

编辑2:

明白我public/assets文件夹,添加public/assets/*.gitignore推到我的Heroku回购。在slug编译期间,Heroku运行了资产管道,制作了/assets/application-b2c82b0573602f3a368a26f36b99542b.css,它也链接到我网站的源代码中,但样式不加载,当我尝试导航到样式表时,我得到The page you were looking for doesn't exist. ...现在怎么办?

这里是我的application.html.haml

!!! 5 
%html 
    %head 
    %title StartupCrawler 
    = stylesheet_link_tag "application", media: "all" 
    = csrf_meta_tags 
    = yield 

回答

19

迈克尔,我给你推到Heroku的前尝试:

rake assets:precompile

这将预编译它们在公共文件夹,以便可将其投放到的Heroku 。让我知道如果这不起作用。

此外,确保存在的config /环境/ production.rb

config.serve_static_assets = true 

那当然

git push heroku master

+0

谢谢,我觉得这是朝正确方向迈出的一步,但它仍然无法正常工作。我在原始文章中添加了关于我的配置的详细信息。我怀疑我已经做了我的'application.html.haml'风格链接 – 2013-04-18 04:54:22

+0

不对劲改变我的'stylesheet_link_tag“平板UI”,“home.min”,媒体之后:“所有的”''到stylesheet_link_tag“应用”媒体说:‘所有的’'的Heroku几乎与有效的样式表,但它给了'/资产/应用4cd3d6fa233d3d69d4eb5f32c3ca36b5.css'因为这是没有,我有我的文件夹 – 2013-04-18 05:10:35

+1

您可以发布预编译的资产的链接您的application.html.haml? 同时运行'heroku logs'并发布该输出。 – 2013-04-18 05:25:17

0

而是在编译资产检查到的Git,第一次读下面的行这个:https://devcenter.heroku.com/articles/ruby-support#plugin-injection-in-rails-4

你可以加这个宝石

宝石 'rails_12factor'

或添加此宝石具体

rails_serve_static_assets

或手动更改配置在config/environments/production.rb

配置。serve_static_assets = true

+2

有人做了一个宝石只是改变*一个配置变量,只好改变'config.serve_static_assets = TRUE;在'配置/ production.rb' – Zaz 2014-07-29 21:20:01

+0

Rails:不喜欢编程的人的编程框架。 – Chloe 2014-07-31 04:12:42