Section 1.3. Organization


1.3. Organization

The directories created during installation provide a place for your code, scripts to help you manage and build your application, and many other goodies . Later, we'll examine the most interesting directories in greater detail. For now, let's take a quick pass through the directory tree in the project we created:



app

This application organizes your application components . It's got subdirectories that hold the view ( views and helpers ), controller ( controllers ), and the backend business logic ( models ).



components

This directory holds components tiny self-contained applications that bundle model, view, and controller.



config

This directory contains the small amount of configuration code that your application will need, including your database configuration (in database.yml ), your Rails environment structure ( environment.rb ), and routing of incoming web requests ( routes.rb ). You can also tailor the behavior of the three Rails environments for test, development, and deployment with files found in the environments directory.



db

Usually, your Rails application will have model objects that access relational database tables. You can manage the relational database with scripts you create and place in this directory.



doc

Ruby has a framework, called RubyDoc , that can automatically generate documentation for code you create. You can assist RubyDoc with comments in your code. This directory holds all the RubyDoc -generated Rails and application documentation.



lib

You'll put libraries here, unless they explicitly belong elsewhere (such as vendor libraries).



log

Error logs go here. Rails creates scripts that help you manage various error logs. You'll find separate logs for the server ( server.log ) and each Rails environment ( development.log , test.log , and production.log ).



public

Like the public directory for a web server, this directory has web files that don't change, such as JavaScript files ( public/javascripts ), graphics ( public/images ), stylesheets ( public/stylesheets ), and HTML files ( public ).



script

This directory holds scripts to launch and manage the various tools that you'll use with Rails. For example, there are scripts to generate code ( generate ) and launch the web server ( server ). You'll learn much more about using these scripts throughout this book.



test

The tests you write and those Rails creates for you all go here. You'll see a subdirectory for mocks ( mocks ), unit tests ( unit ), fixtures ( fixtures ), and functional tests ( functional ). We comprehensively cover testing in Chapter 7.



tmp

Rails uses this directory to hold temporary files for intermediate processing.



vendor

Libraries provided by third-party vendors (such as security libraries or database utilities beyond the basic Rails distribution) go here.

Except for minor changes between releases, every Rails project will have the same structure, with the same naming conventions. This consistency gives you a tremendous advantage; you can quickly move between Rails projects without relearning the project's organization. The Rails framework itself also relies on this consistency because the different Rails frameworks will often discover files solely on naming conventions and directory structure. For example, later in this example, you'll see the controller invoke views without any custom code.



Ruby on Rails[c] Up and Running
Ruby on Rails[c] Up and Running
ISBN: B003D3OGCY
EAN: N/A
Year: 2006
Pages: 94

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net