Update README
This commit is contained in:
parent
6378a386dd
commit
2ff1de624e
43
README.md
43
README.md
|
@ -1,6 +1,8 @@
|
||||||
# Welcome to Rails
|
# Welcome to Rails
|
||||||
|
|
||||||
Rails is a web-application framework that includes everything needed to
|
## What's Rails
|
||||||
|
|
||||||
|
**Rails** is a web-application framework that includes everything needed to
|
||||||
create database-backed web applications according to the
|
create database-backed web applications according to the
|
||||||
[Model-View-Controller (MVC)](http://en.wikipedia.org/wiki/Model-view-controller)
|
[Model-View-Controller (MVC)](http://en.wikipedia.org/wiki/Model-view-controller)
|
||||||
pattern.
|
pattern.
|
||||||
|
@ -8,41 +10,46 @@ pattern.
|
||||||
Understanding the MVC pattern is key to understanding Rails. MVC divides your
|
Understanding the MVC pattern is key to understanding Rails. MVC divides your
|
||||||
application into three layers: Model, View, and Controller, each with a specific responsibility.
|
application into three layers: Model, View, and Controller, each with a specific responsibility.
|
||||||
|
|
||||||
The _Model layer_ represents the domain model (such as Account, Product,
|
## Model layer
|
||||||
|
|
||||||
|
The _**Model layer**_ represents the domain model (such as Account, Product,
|
||||||
Person, Post, etc.) and encapsulates the business logic specific to
|
Person, Post, etc.) and encapsulates the business logic specific to
|
||||||
your application. In Rails, database-backed model classes are derived from
|
your application. In Rails, database-backed model classes are derived from
|
||||||
`ActiveRecord::Base`. Active Record allows you to present the data from
|
`ActiveRecord::Base`. [Active Record](activerecord/README.rdoc) allows you to present the data from
|
||||||
database rows as objects and embellish these data objects with business logic
|
database rows as objects and embellish these data objects with business logic
|
||||||
methods. You can read more about Active Record in its [README](activerecord/README.rdoc).
|
methods.
|
||||||
Although most Rails models are backed by a database, models can also be ordinary
|
Although most Rails models are backed by a database, models can also be ordinary
|
||||||
Ruby classes, or Ruby classes that implement a set of interfaces as provided by
|
Ruby classes, or Ruby classes that implement a set of interfaces as provided by
|
||||||
the Active Model module. You can read more about Active Model in its [README](activemodel/README.rdoc).
|
the [Active Model](activemodel/README.rdoc) module.
|
||||||
|
|
||||||
The _Controller layer_ is responsible for handling incoming HTTP requests and
|
## Controller layer
|
||||||
|
|
||||||
|
The _**Controller layer**_ is responsible for handling incoming HTTP requests and
|
||||||
providing a suitable response. Usually this means returning HTML, but Rails controllers
|
providing a suitable response. Usually this means returning HTML, but Rails controllers
|
||||||
can also generate XML, JSON, PDFs, mobile-specific views, and more. Controllers load and
|
can also generate XML, JSON, PDFs, mobile-specific views, and more. Controllers load and
|
||||||
manipulate models, and render view templates in order to generate the appropriate HTTP response.
|
manipulate models, and render view templates in order to generate the appropriate HTTP response.
|
||||||
In Rails, incoming requests are routed by Action Dispatch to an appropriate controller, and
|
In Rails, incoming requests are routed by Action Dispatch to an appropriate controller, and
|
||||||
controller classes are derived from `ActionController::Base`. Action Dispatch and Action Controller
|
controller classes are derived from `ActionController::Base`. Action Dispatch and Action Controller
|
||||||
are bundled together in Action Pack. You can read more about Action Pack in its
|
are bundled together in [Action Pack](actionpack/README.rdoc).
|
||||||
[README](actionpack/README.rdoc).
|
|
||||||
|
|
||||||
The _View layer_ is composed of "templates" that are responsible for providing
|
## View layer
|
||||||
|
|
||||||
|
The _**View layer**_ is composed of "templates" that are responsible for providing
|
||||||
appropriate representations of your application's resources. Templates can
|
appropriate representations of your application's resources. Templates can
|
||||||
come in a variety of formats, but most view templates are HTML with embedded
|
come in a variety of formats, but most view templates are HTML with embedded
|
||||||
Ruby code (ERB files). Views are typically rendered to generate a controller response,
|
Ruby code (ERB files). Views are typically rendered to generate a controller response,
|
||||||
or to generate the body of an email. In Rails, View generation is handled by Action View.
|
or to generate the body of an email. In Rails, View generation is handled by [Action View](actionview/README.rdoc).
|
||||||
You can read more about Action View in its [README](actionview/README.rdoc).
|
|
||||||
|
|
||||||
Active Record, Active Model, Action Pack, and Action View can each be used independently outside Rails.
|
## Frameworks and libraries
|
||||||
In addition to that, Rails also comes with Action Mailer ([README](actionmailer/README.rdoc)), a library
|
|
||||||
to generate and send emails; Active Job ([README](activejob/README.md)), a
|
[Active Record](activerecord/README.rdoc), [Active Model](activemodel/README.rdoc), [Action Pack](actionpack/README.rdoc), and [Action View](actionview/README.rdoc) can each be used independently outside Rails.
|
||||||
|
In addition to that, Rails also comes with [Action Mailer](actionmailer/README.rdoc), a library
|
||||||
|
to generate and send emails; [Active Job](activejob/README.md), a
|
||||||
framework for declaring jobs and making them run on a variety of queueing
|
framework for declaring jobs and making them run on a variety of queueing
|
||||||
backends; Action Cable ([README](actioncable/README.md)), a framework to
|
backends; [Action Cable](actioncable/README.md), a framework to
|
||||||
integrate WebSockets with a Rails application;
|
integrate WebSockets with a Rails application; [Active Storage](activestorage/README.md), a library to attach cloud
|
||||||
Active Storage ([README](activestorage/README.md)), a library to attach cloud
|
|
||||||
and local files to Rails applications;
|
and local files to Rails applications;
|
||||||
and Active Support ([README](activesupport/README.rdoc)), a collection
|
and [Active Support](activesupport/README.rdoc), a collection
|
||||||
of utility classes and standard library extensions that are useful for Rails,
|
of utility classes and standard library extensions that are useful for Rails,
|
||||||
and may also be used independently outside Rails.
|
and may also be used independently outside Rails.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue