app: contains most of the Ruby source code and output templates.
app/controllers: contains the controller files.
In an empty project, only application.rb exists.
application.rb is an application-wide controller.
app/helpers: contains helper files that provide methods that you can use from views.
app/models: contains a file for model.
app/views: contains views for the application.
Typically each controller has its own folder under app/views, with templates located in those folders.
There's also a layouts folder that Rails uses to store generic application-wide templates.
config: contains configuration files for the application.
database.yml is a YAML file.
environment.rb and boot.rb are prebuilt files that you usually won't need to edit, unless you want to tweak fine details of how your application is started.
db: A folder for database dumps, backups, and migrations.
doc: Contains any RDoc documentation generated for the application.
lib: Contains third-party libraries and Rake tasks.
log: Contains log files relating to the operation of the application.
public: Contains nondynamic files accessible under your application's URL.
This folder includes several "dispatch" files and an .htaccess file that make it possible to set up your application to run under Web servers such as Apache and LightTPD.
script: Contains scripts and command line tools that are used in constructing and deploying Rails applications.
test: Contains the test subsystems for a Rails application.
tmp: Temporary storage area for data created and used by your Rails application.
vendor: This folder is used for storing versions of the Rails framework that your application is bound to, and for storing plugins (under the vendor/plugins directory).