ruby-on-rails-3 – Rails资产管道 – image_path帮助程序仅在开
发布时间:2020-12-17 02:02:44 所属栏目:百科 来源:网络整理
导读:我在Rails(3.2.7)中遇到资产预编译问题. 我包括这样一个图标: link rel="icon" type="image/png" href="%= image_path("favicon.png") %" / 在开发模式下,我设置config.assets.compile = true.一切正常,渲染的HTML看起来像这样: link rel="icon" type="ima
我在Rails(3.2.7)中遇到资产预编译问题.
我包括这样一个图标: <link rel="icon" type="image/png" href="<%= image_path("favicon.png") %>" /> 在开发模式下,我设置config.assets.compile = true.一切正常,渲染的HTML看起来像这样: <link rel="icon" type="image/png" href="/assets/favicon.png" /> 但在生产中,我设置config.assets.compile = false,我得到错误 Sprockets::Helpers::RailsHelper::AssetPaths::AssetNotPrecompiledError in Home#index ... favicon.png isn't precompiled 我已经运行了rake资产:预编译,我可以清楚地看到,资产在public / assets / favicon.png下可用. 我知道,我可以在生产中设置config.assets.compile = true,但我不想这样做(因为性能原因). 有没有人知道,为什么我的rails应用程序无法解决生产中资产的正确路径?谢谢! 更新: 例如<%= stylesheet_link_tag“screen”,:media => “所有”%>还会产生错误screen.css在config.assets.compile设置为false时未预编译. 解决方法
好吧,经过几次尝试,我想通了,如何解决这个问题.然而它有点奇怪,并不完全满足我.它只对我有用,当我将digest设置为true并提供清单的路径时:
config.assets.compile = false config.assets.digest = true config.assets.manifest = Rails.root.join("public/assets") 知道这个“逻辑”背后的内容会很有趣. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |