freeCodeCamp/guide/chinese/ruby/ruby-on-rails/index.md

118 lines
5.9 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: Ruby on Rails
localeTitle: Ruby on Rails
---
# Ruby on Rails
[Ruby on Rails](http://rubyonrails.org/)是一个基于Ruby语言构建网站的服务器端框架gem。 Rails使Web开发更快更容易更有趣。它包括构建精彩应用程序所需的一切并拥有一个庞大的社区。 Rails由David Heinemeir Hansson创建目前是第5版。 Rails强调使用其他众所周知的软件工程模式和范例包括[约定优于配置CoC](https://en.wikipedia.org/wiki/Convention_over_configuration) [不重复自己DRY](https://en.wikipedia.org/wiki/Don%27t_repeat_yourself)和活动记录模式。 Rails是一个[模型 - 视图 - 控制器MVC](https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller)框架为数据库Web服务和Web页面提供默认结构。最近Rails集成了一个API模块可以更快更轻松地创建Web服务。
## 安装Rails
Rails的下载方式与任何其他Ruby gem相同使用`gem install`命令。在我们下载它之前,我们需要[下载Ruby](https://www.ruby-lang.org) 。之后我们距离Ruby on Rails只有3个字
```shell
$ gem install rails
```
## 设置数据库
Rails附带sqlite3作为默认数据库这是磁盘上的一个简单文件。如果你想使用更强大的东西你需要安装MySQL或PostgreSQL。
## 创建Rails应用程序
1. 在安装Ruby on Rails之后创建一个全新的应用程序非常简单我们只需要3个单词
```shell
$ rails new your_application_name
```
* 如果你想使用MySQL `shell $ rails new <application_name> -d mysql`
* 如果你想使用Postgres `shell $ rails new <application_name> -d postgresql`
1. 此命令将创建一个文件夹其中包含_您_在上一个命令中通知_的_应用程序_名称_ 。下一步是转到刚刚创建的新目录:
```shell
$ cd your_application_name
```
3. 在运行应用程序之前获取必要的gem和软件包
```shell
$ bundle install
```
4. 要运行rails服务器并查看是否所有内容都相应快速
```shell
$ rails server
```
它不能再简单了好吧这实际上并非100正确我们可以通过将`rails server`命令减少为:
```shell
$ rails s
```
5. 现在,使用您首选的浏览器,转到`http://localhost:3000` 您将看到“是的您正在使用Rails
### 创建Rails应用程序的替代方法
1. 创建一个新目录:
```shell
$ mkdir <application_name>
```
2. 进入新目录:
```shell
$ cd <application_name>
```
3. 使用Unix点表示法创建Rails应用程序。这导致将目录的名称分配给新应用程序。
```shell
$ rails new .
```
4. 开始探索刚刚创建的应用程序的框架。文件夹结构根据下表组织:
|文件/文件夹|目的|
| ----------- ------- |
| app / |包含应用程序的控制器,模型,视图,帮助程序,邮件程序,通道,作业和资产。您将在本指南的其余部分重点介绍此文件夹。 |
| bin / |包含启动应用程序的rails脚本可以包含用于设置更新部署或运行应用程序的其他脚本。 |
| config / |配置应用程序的路由数据库等。配置Rails应用程序中将对此进行更详细的介绍。 |
| config.ru |用于启动应用程序的基于机架的服务器的机架配置。 |
| db / |包含当前数据库架构以及数据库迁移。 |
| GemfileGemfile.lock |这些文件允许您指定Rails应用程序所需的gem依赖项。这些文件由Bundler gem使用。有关Bundler的更多信息请参阅Bundler网站。 |
| lib / |适合您应用的扩展模块。 |
| log / |应用程序日志文件|
|公共/ |世界上唯一看到的文件夹。包含静态文件和编译资产。 |
| Rakefile |此文件定位并加载可从命令行运行的任务。任务定义都是在Rails的各个组件中定义的。您应该通过将文件添加到应用程序的lib / tasks目录来添加自己的任务而不是更改Rakefile。 |
| README.md |这是您的应用程序的简要说明手册。您应该编辑此文件以告诉其他人您的应用程序的功能,如何设置,等等。 |
|测试/ |单元测试固定装置和其他测试设备。这些在测试Rails应用程序中介绍。 |
| tmp / |临时文件如缓存和pid文件。 |
|供应商/ |所有第三方代码的地方。在典型的Rails应用程序中这包括销售的宝石。 |
| .gitignore |该文件告诉git它应该忽略哪些文件或模式。有关忽略文件的详细信息请参阅Github - 忽略文件。 |
开始使用这个令人敬畏的框架的好地方是阅读他的[入门页面](http://guides.rubyonrails.org/getting_started.html) 。
## 约定优于配置
_约定优于配置_意味着开发人员只需要指定应用程序的非常规方面。例如,如果模型中有类`Sale` ,则默认情况下,数据库中的相应表称为`sales` 。只有当一个人偏离这个约定时例如调用表“售出的产品”开发人员才需要编写有关这些名称的代码。通常Ruby on Rails约定导致更少的代码和更少的重复。
## 什么是MVC
模型(活动记录)包含业务逻辑并与数据库交互。 视图Action视图所有HTML文件和结构。 控制器(动作控制器)与视图和模型交互以指导应用程序的动作。
## 干 - 不要重复自己
_不要重复自己_意味着信息位于一个明确的地方。例如使用Rails的ActiveRecord模块开发人员不需要在类定义中指定数据库列名。相反Ruby on Rails可以根据类名从数据库中检索此信息。
## Ruby on Rails是开源的
它不仅可以免费使用还可以帮助它变得更好。超过4500人已经为[Rails](https://github.com/rails/rails)贡献了代码。比你想象的更容易成为其中之一。