【问题标题】:Rails 4 not requesting fingerprinted asset in productionRails 4 不要求生产中的指纹资产
【发布时间】:2015-11-06 04:11:57
【问题描述】:

我刚刚将 Rails 4.1.1 应用程序部署到 VPS。运行 Ruby 2 和 Passenger。

我的应用程序没有向资产文件的指纹版本发出请求。在我的application.html.erb 我有:

<%= stylesheet_link_tag    "application" %>
<%= stylesheet_link_tag "slick" %>
<%= javascript_include_tag "vendor/modernizr" %>

生成输出html:

<link href="/stylesheets/application.css" media="screen" rel="stylesheet" />
<link href="/stylesheets/slick.css" media="screen" rel="stylesheet" />
<script src="/javascripts/vendor/modernizr.js"></script>

相关配置为:

production.rb

config.serve_static_assets = false
config.assets.js_compressor = :uglifier
config.assets.compile = false
config.assets.digest = true
config.assets.version = '1.0'
config.assets.precompile += %w( vendor/modernizr.js slick.css )

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-4 sprockets


    【解决方案1】:

    您似乎没有预编译资产。在您的 production.rb 中进行以下更改

    config.assets.compile = true
    

    【讨论】:

    • 该指令是您希望 Sprockets 在生产中即时编译资产的位置和that is not good。我正在预编译,MD5 指纹资产在我的 public/assets 目录中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-16
    • 1970-01-01
    相关资源
    最近更新 更多