资产管道Rails 4看不到带有md5指纹的文件

时间:2013-11-17 13:07:12

标签: ruby-on-rails asset-pipeline assets production-environment

我在开发环境中有rails 4 application + ruby​​ 2.0一切正常但是我尝试通过capistrano部署我的项目我有资产问题应用程序看不到资产字体,css js e.t.c。

这是我的production.rb文件:

  config.assets.paths << Rails.root.join('app', 'assets', 'font')
  config.assets.precompile << ['*.js', '*.css','*.jpg','*,woff','*.ttf']

命令RAILS_ENV=production bundle exec rake assets:precompile使用md5 hash创建预编译文件fontawesome-webfont-62877-e70f92449ebfddada3d455eb44542655.woff但是appication有错误404。 enter image description here

enter image description here 图片和css的相同故事只有to_net_me-581dde7532a5978e49036426aa617523.js和to_net_me-515aa8a1f84b86e9084a3e925e512023.css有200个状态码。

这是我的layout / application.html.slim:

doctype 5
html
  head
    title 2net.me
    /![if lt IE 9]
      | <script src="http://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
    = stylesheet_link_tag    "to_net_me", :media => "all"
    = javascript_include_tag "to_net_me"
    = csrf_meta_tags
  body
    / = render partial: 'layouts/flash', locals: { flash: flash } unless flash.empty?
    = render 'layouts/header'
    /main content render here
    .container-fluid-full
      -if current_user
        .row-fluid
          = render "shared/menu/main_menu"
          = yield
      -else
        = yield
    = render 'layouts/footer'

问题不在于如何创建字体问题在为生产字体预编译资产时会产生md5指纹。但在网络控制台后有fontawesome-webfont-62877.woff 404错误。看起来rails看不到公共/资产中的预编译资产fontawesome-webfont-62877-e70f92449ebfddada3d455eb44542655.woff但是当我添加文件fontawesome-webfont-62877.woff没有md5时它工作正常。如何创建rails在生产中查看字体的预编译。

1 个答案:

答案 0 :(得分:0)

有一种名为&#34;非愚蠢消化资产的宝石&#34;这将创建包含和不包含md5哈希的文件。你可以使用它。