Skip to content

Commit 959c5fd

Browse files
committed
Review getting_started again
1 parent bd0ff74 commit 959c5fd

File tree

3 files changed

+10
-6
lines changed

3 files changed

+10
-6
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
### master
22

3+
- PDF 格式中的目录分两栏显示
4+
- 标出术语、专有名词
5+
36
### v5.0.2.1, 2017-3-20
47

58
- 更新到 Rails 5.0.2

book.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
:listing-caption: 代码清单 %NUM%-%SUBNUM%
2525
:image-caption: 图 %NUM%-%SUBNUM%
2626
:table-caption: 表 %NUM%-%SUBNUM%
27+
:table-caption-continued: (续)
2728
:sidebar-caption: 旁注 %NUM%-%SUBNUM%
2829
:caption-trailing: :
2930
:chapter-caption: 第 %NUM% 章

manuscript/getting_started.adoc

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ $ rails --version
9797
[[creating-the-blog-application]]
9898
==== 创建 Blog 应用
9999

100-
Rails 提供了许多名为“生成器(generator)的脚本,这些脚本可以为特定任务生成所需的全部文件,从而简化开发。其中包括新应用生成器,这个脚本用于创建 Rails 应用骨架,避免了手动编写基础代码。
100+
Rails 提供了许多名为term:[生成器(generator)]的脚本,这些脚本可以为特定任务生成所需的全部文件,从而简化开发。其中包括新应用生成器,这个脚本用于创建 Rails 应用骨架,避免了手动编写基础代码。
101101

102102
要使用新应用生成器,请打开终端,进入具有写权限的文件夹,输入:
103103

@@ -257,7 +257,7 @@ Rails.application.routes.draw do
257257
end
258258
----
259259

260-
这是应用的路由文件,使用特殊的 DSL(domain-specific language,领域专属语言)编写,告诉 Rails 把访问请求发往哪个控制器和动作。编辑这个文件,添加一行代码 `root 'welcome#index'`,此时文件内容应该变成下面这样:
260+
这是应用的路由文件,使用特殊的 DSL(Domain-Specific Language,term:[领域专属语言])编写,告诉 Rails 把访问请求发往哪个控制器和动作。编辑这个文件,添加一行代码 `root 'welcome#index'`,此时文件内容应该变成下面这样:
261261

262262
[source,ruby]
263263
----
@@ -279,9 +279,9 @@ TIP: 关于路由的更多介绍,请参阅<<routing#rails-routing-from-the-out
279279

280280
前文已经介绍了如何创建控制器、动作和视图,接下来我们要创建一些更具实用价值的东西。
281281

282-
在 Blog 应用中创建一个资源(resource)。资源是一个术语,表示一系列类似对象的集合,如文章、人或动物。资源中的项目可以被创建、读取、更新和删除,这些操作简称 CRUD(Create, Read, Update, Delete)。
282+
在 Blog 应用中创建一个term:[资源(resource)]。资源是一个术语,表示一系列类似对象的集合,如文章、人或动物。资源中的项目可以被创建、读取、更新和删除,这些操作简称 CRUD(Create, Read, Update, Delete)。
283283

284-
Rails 提供了 `resources` 方法,用于声明标准的 REST 资源。把 article 资源添加到 `config/routes.rb` 文件,此时文件内容应该变成下面这样:
284+
Rails 提供了 `resources` 方法,用于声明标准的 REST 资源。把 articles 资源添加到 `config/routes.rb` 文件,此时文件内容应该变成下面这样:
285285

286286
[source,ruby]
287287
----
@@ -490,7 +490,7 @@ def create
490490
end
491491
----
492492

493-
这里 `render` 方法接受了一个简单的散列(hash)作为参数,`:plain` 键的值是 `params[:article].inspect`。`params` 方法是代表表单提交的参数(或字段)的对象。`params` 方法返回 `ActionController::Parameters` 对象,这个对象允许使用字符串或符号访问散列的键。这里我们只关注通过表单提交的参数。
493+
这里 `render` 方法接受了一个简单的term:[散列(hash)]作为参数,`:plain` 键的值是 `params[:article].inspect`。`params` 方法是代表表单提交的参数(或字段)的对象。`params` 方法返回 `ActionController::Parameters` 对象,这个对象允许使用字符串或符号访问散列的键。这里我们只关注通过表单提交的参数。
494494

495495
TIP: 请确保牢固掌握 `params` 方法,这个方法很常用。让我们看一个示例 URL:pass:[http://www.example.com/?username=dhh&[email protected]]。在这个 URL 中,`params[:username]` 的值是“dhh”,`params[:email]` 的值是“pass:[[email protected]]”。
496496

@@ -587,7 +587,7 @@ TIP: 之后我们会看到,`@article.save` 返回布尔值,以表明文章
587587
.禁用属性错误
588588
image::forbidden_attributes_for_new_article.png[禁用属性错误]
589589

590-
Rails 提供了多种安全特性来帮助我们编写安全的应用,上面看到的就是一种安全特性。这个安全特性叫做 <<action_controller_overview#strong-parameters,健壮参数>>(strong parameter),要求我们明确地告诉 Rails 哪些参数允许在控制器动作中使用。
590+
Rails 提供了多种安全特性来帮助我们编写安全的应用,上面看到的就是一种安全特性。这个安全特性叫做 term:[<<action_controller_overview#strong-parameters,健壮参数>>(strong parameter)],要求我们明确地告诉 Rails 哪些参数允许在控制器动作中使用。
591591

592592
为什么我们要这样自找麻烦呢?一次性获取所有控制器参数并自动赋值给模型显然更简单,但这样做会造成恶意使用的风险。设想一下,如果有人对服务器发起了一个精心设计的请求,看起来就像提交了一篇新文章,但同时包含了能够破坏应用完整性的额外字段和值,会怎么样?这些恶意数据会批量赋值给模型,然后和正常数据一起进入数据库,这样就有可能破坏我们的应用或者造成更大损失。
593593

0 commit comments

Comments
 (0)