静态404页面Rails 4:如何使用资产管道?

Mar*_*rty 6 ruby-on-rails asset-pipeline ruby-on-rails-4

我正在使用Rails 4.2.3并尝试自定义404错误页面public/404.html.如何包含资产管道中的图像?

如何构建动态自定义错误页面有一个很好的帖子.但是,如上所述,它需要对设置进行大量更改,作为初学者,我还没准备好.我想做的就是在我的404页面中包含2个资产管道中的图像.是否有捷径可寻?

Mat*_*son 6

如果您希望您的错误页面使用资产管道中的图像,那么您有两个选择:

  1. 使用动态错误页面(我在这里写了一个教程).
  2. Monkey修补资产管道以允许非指纹资产.

既然你现在排除了选项#1,我认为猴子补丁是要走的路.在您的应用中安装非stupid-digest-assets gem.这将修补资产管道,以便生成非指纹资产(除了指纹资产).

# Gemfile
gem "non-stupid-digest-assets"
Run Code Online (Sandbox Code Playgroud)

当然,不要忘记:

$ bundle install
Run Code Online (Sandbox Code Playgroud)

然后在你的404.html,只需将资产称为静态文件,如下所示:

<img src="/assets/my-image.png">
Run Code Online (Sandbox Code Playgroud)

这假设实际图像存储在项目中:

app/assets/images/my-image.png
Run Code Online (Sandbox Code Playgroud)