Heroku上的Rails Stylesheets
在我的本地机器上,当我查看我的Rails应用程序时,我的样式表已成功链接到/assets/stylesheets/
但是在Heroku上,它被更改为/stylesheets/
可能在public
目录中并且不起作用! 如何让我的样式public/stylesheets
在编译时移动到public/stylesheets
?
编辑:
rake assets:precompile
之后的文件目录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
迈克尔,我在你推到heroku之前尝试:
rake assets:precompile
这将在公共文件夹中预编译它们,以便它们可以提供给Heroku。 如果这不起作用,请告诉我。
另外,请确保config / environments / production.rb中存在以下行
config.serve_static_assets = true
然后当然
git push heroku master
不要将已编译的资产签入Git,而是首先阅读: https : //devcenter.heroku.com/articles/ruby-support#plugin-injection-in-rails-4
你可以添加这个gem
gem’rails_12factor’
或者专门添加这个gem
rails_serve_static_assets
或者手动更改config/environments/production.rb
中的config/environments/production.rb
config.serve_static_assets = true