6.8. Rails Directory Structure

Before moving to the next chapter, let's try to recap what folders you've interacted with so far. They were app, config, db, log, public, and script (it contains the scripts you've used so far). The main directory of any Rails application contains more folders though. The following briefly explains their roles:

  • doc: This is the directory used to store the documentation that's auto-generated by the rdoc tool. If you have other documentation that you have created, like "a getting started" PDF, this is a good place to put it.

  • lib: You can place your own libraries in this folder. If the code is substantial and reusable for other projects, you may consider creating a plugin instead.

  • test: The folder that contains all the tests for your application.

  • tmp: A folder used by Rails to hold temporary files.

  • vendor: A special directory for third-party code. This is where non-gem plugins get installed and where the required gems (plugins or not) and Rails gems are copied whenever you decide to deploy them with the application, as opposed to expecting the deployment server to already have them installed. This is discussed in the chapter dedicated to deployment.

Get Ruby on Rails® for Microsoft Developers now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.