mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Update RDOC_MAIN.rdoc [ci skip]
This commit is contained in:
parent
9a66a22102
commit
78e0af414f
1 changed files with 55 additions and 37 deletions
|
@ -1,35 +1,50 @@
|
||||||
== Welcome to \Rails
|
== Welcome to \Rails
|
||||||
|
|
||||||
\Rails is a web-application framework that includes everything needed to create
|
\Rails is a web-application framework that includes everything needed to
|
||||||
database-backed web applications according to the {Model-View-Controller (MVC)}[https://en.wikipedia.org/wiki/Model-view-controller] pattern.
|
create database-backed web applications according to the
|
||||||
|
{Model-View-Controller (MVC)}[http://en.wikipedia.org/wiki/Model-view-controller]
|
||||||
|
pattern.
|
||||||
|
|
||||||
Understanding the MVC pattern is key to understanding \Rails. MVC divides your application
|
Understanding the MVC pattern is key to understanding \Rails. MVC divides your
|
||||||
into three layers, each with a specific responsibility.
|
application into three layers, each with a specific responsibility.
|
||||||
|
|
||||||
The View layer is composed of "templates" that are responsible for providing
|
The <em>Model layer</em> represents your domain model (such as Account, Product,
|
||||||
appropriate representations of your application's resources. Templates
|
Person, Post, etc.) and encapsulates the business logic that is specific to
|
||||||
can come in a variety of formats, but most view templates are \HTML with embedded Ruby
|
your application. In \Rails, database-backed model classes are derived from
|
||||||
code (.erb files).
|
ActiveRecord::Base. Active Record allows you to present the data from
|
||||||
|
database rows as objects and embellish these data objects with business logic
|
||||||
|
methods. You can read more about Active Record in its {README}[link:files/activerecord/README_rdoc.html].
|
||||||
|
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
|
||||||
|
the Active Model module. You can read more about Active Model in its {README}[link:files/activemodel/README_rdoc.html].
|
||||||
|
|
||||||
The Model layer represents your domain model (such as Account, Product, Person, Post)
|
The <em>Controller layer</em> is responsible for handling incoming HTTP requests and
|
||||||
and encapsulates the business logic that is specific to your application. In \Rails,
|
providing a suitable response. Usually this means returning \HTML, but \Rails controllers
|
||||||
database-backed model classes are derived from ActiveRecord::Base. Active Record allows
|
can also generate XML, JSON, PDFs, mobile-specific views, and more. Controllers load and
|
||||||
you to present the data from database rows as objects and embellish these data objects
|
manipulate models, and render view templates in order to generate the appropriate HTTP response.
|
||||||
with business logic methods. Although most \Rails models are backed by a database, models
|
In \Rails, incoming requests are routed by Action Dispatch to an appropriate controller, and
|
||||||
can also be ordinary Ruby classes, or Ruby classes that implement a set of interfaces as
|
controller classes are derived from ActionController::Base. Action Dispatch and Action Controller
|
||||||
provided by the ActiveModel module. You can read more about Active Record in its
|
are bundled together in Action Pack. You can read more about Action Pack in its
|
||||||
{README}[link:files/activerecord/README_rdoc.html].
|
{README}[link:files/actionpack/README_rdoc.html].
|
||||||
|
|
||||||
The Controller layer is responsible for handling incoming HTTP requests and providing a
|
The <em>View layer</em> is composed of "templates" that are responsible for providing
|
||||||
suitable response. Usually this means returning \HTML, but \Rails controllers can also
|
appropriate representations of your application's resources. Templates can
|
||||||
generate XML, JSON, PDFs, mobile-specific views, and more. Controllers manipulate models
|
come in a variety of formats, but most view templates are \HTML with embedded
|
||||||
and render view templates in order to generate the appropriate HTTP 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.
|
||||||
|
You can read more about Action View in its {README}[link:files/actionview/README_rdoc.html].
|
||||||
|
|
||||||
In \Rails, the Controller and View layers are handled together by Action Pack.
|
Active Record, Active Model, Action Pack, and Action View can each be used independently outside \Rails.
|
||||||
These two layers are bundled in a single package due to their heavy interdependence.
|
In addition to that, \Rails also comes with Action Mailer ({README}[link:files/actionmailer/README_rdoc.html]), a library
|
||||||
This is unlike the relationship between Active Record and Action Pack, which are
|
to generate and send emails; Active Job ({README}[link:files/activejob/README_md.html]), a
|
||||||
independent. Each of these packages can be used independently outside of \Rails. You
|
framework for declaring jobs and making them run on a variety of queueing
|
||||||
can read more about Action Pack in its {README}[link:files/actionpack/README_rdoc.html].
|
backends; Action Cable ({README}[link:files/actioncable/README_md.html]), a framework to
|
||||||
|
integrate WebSockets with a \Rails application;
|
||||||
|
Active Storage ({README}[link:files/activestorage/README_md.html]), a library to attach cloud
|
||||||
|
and local files to \Rails applications;
|
||||||
|
and Active Support ({README}[link:files/activesupport/README_rdoc.html]), a collection
|
||||||
|
of utility classes and standard library extensions that are useful for \Rails,
|
||||||
|
and may also be used independently outside \Rails.
|
||||||
|
|
||||||
== Getting Started
|
== Getting Started
|
||||||
|
|
||||||
|
@ -45,28 +60,31 @@ can read more about Action Pack in its {README}[link:files/actionpack/README_rdo
|
||||||
|
|
||||||
3. Change directory to +myapp+ and start the web server:
|
3. Change directory to +myapp+ and start the web server:
|
||||||
|
|
||||||
$ cd myapp; rails server
|
$ cd myapp
|
||||||
|
$ rails server
|
||||||
|
|
||||||
Run with <tt>--help</tt> or <tt>-h</tt> for options.
|
Run with <tt>--help</tt> or <tt>-h</tt> for options.
|
||||||
|
|
||||||
4. Go to http://localhost:3000 and you'll see:
|
4. Go to <tt>http://localhost:3000</tt> and you'll see: "Yay! You’re on \Rails!"
|
||||||
|
|
||||||
"Yay! You’re on Rails!"
|
|
||||||
|
|
||||||
5. Follow the guidelines to start developing your application. You may find the following resources handy:
|
5. Follow the guidelines to start developing your application. You may find the following resources handy:
|
||||||
|
|
||||||
* The \README file created within your application.
|
* The \README file created within your application.
|
||||||
* {Getting Started with \Rails}[http://guides.rubyonrails.org/getting_started.html].
|
* {Getting Started with \Rails}[http://guides.rubyonrails.org/getting_started.html].
|
||||||
* {Ruby on \Rails Tutorial}[https://www.railstutorial.org/book].
|
* {Ruby on \Rails Guides}[http://guides.rubyonrails.org].
|
||||||
* {Ruby on \Rails Guides}[http://guides.rubyonrails.org].
|
* {The API Documentation}[http://api.rubyonrails.org].
|
||||||
* {The API Documentation}[http://api.rubyonrails.org].
|
* {Ruby on \Rails Tutorial}[https://www.railstutorial.org/book].
|
||||||
|
|
||||||
== Contributing
|
== Contributing
|
||||||
|
|
||||||
We encourage you to contribute to Ruby on \Rails! Please check out the {Contributing to Rails
|
We encourage you to contribute to Ruby on \Rails! Please check out the
|
||||||
guide}[http://edgeguides.rubyonrails.org/contributing_to_ruby_on_rails.html] for guidelines about how
|
{Contributing to Ruby on \Rails guide}[http://guides.rubyonrails.org/contributing_to_ruby_on_rails.html] for guidelines about how to proceed. {Join us!}[http://contributors.rubyonrails.org]
|
||||||
to proceed. {Join us}[http://contributors.rubyonrails.org]!
|
|
||||||
|
|
||||||
|
Trying to report a possible security vulnerability in \Rails? Please
|
||||||
|
check out our {security policy}[http://rubyonrails.org/security/] for
|
||||||
|
guidelines about how to proceed.
|
||||||
|
|
||||||
|
Everyone interacting in \Rails and its sub-projects' codebases, issue trackers, chat rooms, and mailing lists is expected to follow the \Rails {code of conduct}[http://rubyonrails.org/conduct/].
|
||||||
|
|
||||||
== License
|
== License
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue