本文介绍了没有预先编译blueprint/screen.css的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直遵循Michael Hartl出色的RoR教程,但是我使用的是RoR 3.1.我是RoR 3.1的新手,需要与资产管道相关的帮助.这是我的问题:

I've been following along Michael Hartl's excellent RoR Tutorial, but I'm using RoR 3.1. I am a newbie to RoR 3.1 and need help related to assets pipeline. Here is my problem:

在继续第5.3节之前,我想我想介绍一下Heroku,看看事情如何发展.令我惊讶的是,"GET/"导致错误500.在我的本地开发环境中一切正常.然后,我尝试在生产环境(rails s -e production)下运行我的本地sample_app.结果相同,错误500:

Before continuing to section 5.3, I thought I'd like to push to Heroku and see how things develop. To my surprise "GET /" results in error 500. Everything went OK in my local-development-environment. I then tried running my local sample_app under production-environment (rails s -e production). Same result, error 500:

Sprockets::Helpers::RailsHelper::AssetPaths::AssetNotPrecompiledError in Pages#home

Showing /Users/john/Projects/sample_app/app/views/layouts/_stylesheets.html.erb where line #4 raised:

blueprint/screen.css isn't precompiled

支持信息:

  1. 我将蓝图CSS目录放置在vendor/assets/stylesheets下.
  2. 我遵循了Michael的13.1.4节的建议,并将以下内容作为我的app/views/layouts/application.html.erb:

  1. I put blueprint CSS directory under vendor/assets/stylesheets.
  2. I followed Michael's section 13.1.4 advice and have the following as my app/views/layouts/application.html.erb:

<!DOCTYPE html>
<html>
  <head>
    <title><%= title %></title>
    <%= render 'layouts/stylesheets' %>
    <%= stylesheet_link_tag "application" %>
    <%= javascript_include_tag "application" %>
    <%= csrf_meta_tags %>
  </head>
  <body>
    <div class="container">
      <%= render 'layouts/header' %>
      <section class="round">
        <%= yield %>
      </section>
      <%= render 'layouts/footer' %>
    </div>
  </body>
</html>

  • app/views/layouts/_stylesheets.html.erb的内容:

  • Content of app/views/layouts/_stylesheets.html.erb:

    <!--[if lt IE 9]>
    <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
    <%= stylesheet_link_tag 'blueprint/screen', :media => 'screen' %>
    <%= stylesheet_link_tag 'blueprint/print',  :media => 'print' %>
    <!--[if lt IE 8]><%= stylesheet_link_tag 'blueprint/ie' %><![endif]-->
    

  • 我已经运行了bundle exec rake asset:precompile.

  • I have run bundle exec rake assets:precompile.

    public/assets/manifest.yml的内容:

    Content of public/assets/manifest.yml:

    ---
    logo.png: logo-8e0a5ad292fbb13a2b07e68fa3995406.png
    rails.png: rails-bd9ad5a560b5a3a7be0808c5cd76a798.png
    blueprint/plugins/buttons/icons/cross.png: blueprint/plugins/buttons/icons/cross-2ebcd25368006d1b7b0c5b7d6b523ab3.png
    blueprint/plugins/buttons/icons/key.png: blueprint/plugins/buttons/icons/key-55237526967cbcab3e8cfb12f0029d88.png
    blueprint/plugins/buttons/icons/tick.png: blueprint/plugins/buttons/icons/tick-3f5fc1f52b505b93f88263e0432d25ce.png
    blueprint/plugins/buttons/readme.txt: blueprint/plugins/buttons/readme-3ff7f5dbb0288d71f70682fdbe9d86ec.txt
    blueprint/plugins/fancy-type/readme.txt: blueprint/plugins/fancy-type/readme-e7ed185d1a9f23256d418ab929b464d9.txt
    blueprint/plugins/link-icons/icons/doc.png: blueprint/plugins/link-icons/icons/doc-b071fd74b88ff38cda8360a53f493013.png
    blueprint/plugins/link-icons/icons/email.png: blueprint/plugins/link-icons/icons/email-28104e72b3418737d4b9b329c12ec358.png
    blueprint/plugins/link-icons/icons/external.png: blueprint/plugins/link-icons/icons/external-ee6d976ddb80125fafe1a33c6f8aed10.png
    blueprint/plugins/link-icons/icons/feed.png: blueprint/plugins/link-icons/icons/feed-59bc8604661681639d25cb7015a32c38.png
    blueprint/plugins/link-icons/icons/im.png: blueprint/plugins/link-icons/icons/im-afeeb6e0b652c1edb1441bf0fb428596.png
    blueprint/plugins/link-icons/icons/lock.png: blueprint/plugins/link-icons/icons/lock-d73c4b3b57ce72cb6dbd8b265507ff75.png
    blueprint/plugins/link-icons/icons/pdf.png: blueprint/plugins/link-icons/icons/pdf-c4c543e5103a8516839a7846b91e1ac4.png
    blueprint/plugins/link-icons/icons/visited.png: blueprint/plugins/link-icons/icons/visited-fb2370448bc4ea5d079e963a8c0d900b.png
    blueprint/plugins/link-icons/icons/xls.png: blueprint/plugins/link-icons/icons/xls-5399729cd31dffc492a04b3805cd0be1.png
    blueprint/plugins/link-icons/readme.txt: blueprint/plugins/link-icons/readme-42c02030199cd36a671d4b623cb4dc36.txt
    blueprint/plugins/rtl/readme.txt: blueprint/plugins/rtl/readme-8d11bf76e19fb3fc7dbc6c2ddb54b92d.txt
    blueprint/src/grid.png: blueprint/src/grid-973add038ed86febca85f03e8b35b94a.png
    jquery-ui.min.js: jquery-ui-7e33882a28fc84ad0e0e47e46cbf901c.min.js
    jquery.min.js: jquery-8a50feed8d29566738ad005e19fe1c2d.min.js
    application.js: application-a552e1db33b8be6a42eedf1261916f3c.js
    application.css: application-214e0c0742f20b334e8a7776e0a4c71d.css
    

  • 在manifest.yml中看不到blueprint/screen.css.

  • I don't see blueprint/screen.css in manifest.yml.

    我想念什么?

    推荐答案

    来自 http://guides.rubyonrails. org/asset_pipeline.html#precompiling-assets

    这意味着您在config/environments/production.rb中进行了设置

    This means that in your config/environments/production.rb, you set

    config.assets.precompile += %w( blueprint/screen.css blueprint/print.css )
    

    或一个包包:

    config.assets.precompile += %w( *.css *.js )
    

    这篇关于没有预先编译blueprint/screen.css的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

  • 11-03 12:38