Dependency management is a deceptively hard problem.
During development, you may choose to install updated versions of gems that you depend on.
As we have already seen, you can use helper methods to successfully resist this temptation.
You can think of the HTML text between code fragments as if each line were being written by a Ruby program.
Based on this, you might come to the conclusion that Rails has code that allows it to plug into each of these web servers.
In earlier releases of Rails, this was true; as of Rails 2.3, this integration was delegated to a gem named Rack.
Examples use Concerns, Russian Doll caching, and Turbolinks, and the book focuses throughout on the right way to use Rails.