Rails Application/Project structure and folder layout specification

File/Folder Purpose

app/

Contains the controllers, models, views, helpers, mailers and assets for your application. You’ll focus on this folder for the remainder of this guide.

bin/

Contains the rails script that starts your app and can contain other scripts you use to deploy or run your application.

config/

Configure your application’s runtime rules, routes, database, and more. This is covered in more detail in Configuring Rails Applications

config.ru

Rack configuration for Rack based servers used to start the application.

db/

Contains your current database schema, as well as the database migrations.

Gemfile
Gemfile.lock

These files allow you to specify what gem dependencies are needed for your Rails application. These files are used by the Bundler gem. For more information about Bundler, see the Bundler website

lib/

Extended modules for your application.

log/

Application log files.

public/

The only folder seen to the world as-is. Contains the static files and compiled assets.

Rakefile

This file locates and loads tasks that can be run from the command line. The task definitions are defined throughout the components of Rails. Rather than changing Rakefile, you should add your own tasks by adding files to the lib/tasks directory of your application.

README.rdoc

This is a brief instruction manual for your application. You should edit this file to tell others what your application does, how to set it up, and so on.

test/

Unit tests, fixtures, and other test apparatus. These are covered in Testing Rails Applications

tmp/

Temporary files (like cache, pid and session files)

vendor/

A place for all third-party code. In a typical Rails application, this includes Ruby Gems and the Rails source code (if you optionally install it into your project).

 

 

<

p>Source: Getting Started with Rails

Leave a Reply

Your email address will not be published. Required fields are marked *