0.0
The project is in a healthy, maintained state
Rack middleware which will redirect every 404 assets requests to the current digested version for the logical_path referenced in the manifest. Useful to automate redirects from deleted assets when the old link can't be updated, e.g. emails.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

>= 0
 Project Readme

Assets::Redirect

A Rack middleware for Rails with asset pipeline and asset digest enabled. This middleware is used to redirect any not found request to static asset to the latest version with digest in its filename by reading the manifest file generated after you run rake assets:precompile

For example, if a browser is requesting this URL, and the image with the digest has been removed:

http://example.org/assets/dog-faa42cf2fd5db7e7290baa07109bc82b.png

They will get redirected to the current version pointed by the manifest:

http://example.org/assets/application-faa42cf2fd5db7e7290baa07109bc99b.png

This gem is designed to run on your staging or production environment, where you already precompile all your assets, turn on your asset digest, and turn of asset compilation. This is useful if you're having a static page or email which refers to static assets in the asset pipeline, in this case the asset with the old digest can be lost after a deploymeny, and is convenient to automatically show the current version instead of a 404.

This gem has been inspired from https://github.com/sikachu/sprockets-redirect, but with the difference that in this gem both digested/undigested links will automatically redirect to the latest digested version.

Requirements

Installation

Install the gem and add to the application's Gemfile by executing:

$ bundle add assets-redirect

Usage

This middleware will be enabled by default if you set config.assets.compile = false and config.assets.digest = true in your configuration file.

Running inside Docker with Sprockets

If you run the app in a Docker container and are using Sprockets is suggested to keep the Sprockets cache (tmp/cache/assets) in the container, this allows faster redirect lookups for .js and .css files.

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/basecamp/assets-redirect.

License

The gem is available as open source under the terms of the MIT License.