为什么heroku不会使用我的CSS文件?

时间:2014-08-13 02:47:37

标签: css ruby-on-rails ruby git heroku

只是尝试确认一个RubyOnRails类的设置(我知道Ruby或Rails为零)和heroku不会玩得很好。

(使用Windows 7。)

本地Ruby / Rails / Sublime2 / Git / Heroku设置适用于单个html文件,其中包含一行" H1"要显示的文字。就像我说的那样, - 最基本的。

接下来,讲师想要在Ruby项目中演示CSS文件的位置/使用,所以我们应该添加一些文本格式:

添加了两行文本H2和H3,并将这些行添加到Ruby项目框架生成的app/assets/stylesheets/application.css文件中:

h1 {color: blue; }
h2 {color: green;}
h3 {color: gray;}

保存。在localhost:3000上对本地rails测试服务器运行良好。漂亮的颜色。

然后

git status
    says (red) modified ..../application.css
git add app/assets/stylesheets/application.css
    says (in green) modified .../application.css
git commit -m "changed colors"
    says 1 file chg'd, 4 insertions(+), 5 deletions(-)
git push origin master (<- asked for a login)
    says it went to https://github.com/myaccount/myapp.git
    70c8100..cc2f6ac master -> master
git push heroku master
    (after a whole lot of using and removing)
    says http//:heroku-generated-name.herokuapp.com/ deployed to Heroku
To git@heroku.com:heroku-generated-name.git
70c8100..cc2f6ac master -> master

然而,我的heroku服务应用程序显示的文字全黑。

请注意,我一次获得了很多不同的平台(git,heroku,Sublime,Ruby和Rails),但我认为我理解了这一点,至少从其他几个练习中可以看出来。教练把它看了一遍,把它留给了学生#34;这主要是因为他被编程nobbs淹没了,而不仅仅是程序员来到新的环境/语言。

您可以提供的任何帮助表示赞赏。很高兴提供日志等

再次回到rtfm。

2 个答案:

答案 0 :(得分:1)

让我为你解释一下:

-

<强>的Heroku

Heroku是一个“平台即服务”,这意味着它需要您的git提交&amp;推动并使其在云基础架构上运行。它使用AWS cloud hosting来运行应用程序

当你提到你在Ruby和Rails中拥有“零”体验时,为了放松你对Heroku的思考 - 它基本上需要git推送和deploysHeroku buildpacks

的力量为您提供申请

这对你来说可能毫无意义,但不要担心!

让CSS工作相对简单:

-

<强>滑轨

Rails用asset_pipeline之类的东西来处理它的css。这旨在让您最大程度地控制应用程序的“资产” - 用于使您的应用程序对用户更具吸引力的“静态”文件

通常,asset_pipeline包含在此文件夹中:#app/assets/

这意味着如果您要更改应用程序的任何“资产”,您只需要点击#app/assets中包含的文件夹,编辑它们,并确保它们被包含在内在#app/views/layouts/application.html.erb文件中:

#app/views/layouts/application.html.erb
<%= stylesheet_link_tag "application" %>

#app/assets/stylesheets/application.css
h1 {color: blue; }
h2 {color: green;}
h3 {color: gray;}

这应该适用于您的开发环境。制作有点棘手

-

<强>生产

Heroku在推送

之前需要您precompile您的资产

这又是相对简单的:

$ rake assets:precompile RAILS_ENV=production

如果您在将git回购推送到Heroku之前使用此,则可以正确推送资产

答案 1 :(得分:0)

昨晚计算出来,rtfm,BSOD和stackoverflow的组合。感谢大家的帮助和提示。

事实证明,即使使用标准安装,哪个人会认为hsp,css和javascript至少(以及ruby和rails)我还需要修改Gemfile,添加以下行: gem&#39; rails_12factor&#39;

奇怪的是,即使添加了它,也可以通过git&#39; push&#39;仍然会发出警告:

警告:
   Include 'rails_12factor' gem to enable all platform features
   See https://devcenter.heroku.com/articles/rails-integration-gems for more information.

但现在可以识别.css文件。呀。

BSOD向我展示了rails服务器在启动时只读取Gemfile一次,如果我遵循heroku建议,它就不喜欢它了:

警告:
   You have not declared a Ruby version in your Gemfile.
   To set your Ruby version add this line to your Gemfile:
   ruby '2.0.0'
   # See https://devcenter.heroku.com/articles/ruby-versions for more information.

...因为我当地的红宝石是1.9.3。当我在rails服务器运行时更​​改了这个,没有probs。但是在BSOD(另一个修复的问题)之后,rails服务器启动引发了ruby版本不匹配错误并且从未启动过。

啊哈。

使用新语言的乐趣。