Ruby on Rails 2.0 日记
第2章 生成新程序
Rails 2.0 安装好了,就让我们尽快试一试做新的程序吧。
> rails sample
控制台如下显示,程序生成了。
create
create app/controllers
create app/helpers
create app/models
(中略)
create log/production.log
create log/development.log
create log/test.log
乍看和 Rails 1.2.x 没什么不同,但是 script/breakpointer 没有了,增加了下面了目录和文件。
- config/initializers/inflections.rb
- config/initializers/mime_types.rb
- public/422.html
头两个,是分离原本 config/environment.rb 的描述产生的东西。422.html 是什么呢。虽然知道是在 HTTP 状态代码 422 的情况下表示的页面,但是却是我不知道的代码。在Wikipedia 上搜索一下,在“422: Unprocessable Entity”上有“WebDAV的扩展状态代码”的说明。不太明白。因此,试着打开 422.html 文件本身,出现了如下信息。
<h1>The change you wanted was rejected.</h1> <p>Maybe you tried to change something you didn't have access to.</p>
这是用户试图修改数据库内容但是没有权限时被拒绝的页面。但是,Rails 的 CHANGELOG 中是下面这样写的:
Added a default 422.html page to be rendered when ActiveRecord::RecordInvalid, ActiveRecord::RecordNotSaved, or ActionController::InvalidAuthenticityToken is raised [DHH]
好像是因为跨站请求伪造(CSRF)对策添加的文件。
关于这一点,下次有机会在进行调查吧,今天就到这里。
(2007/12/16)
- 前言
- 第1章 安装 (2007/12/15)
- 第2章 生成新程序 (2007/12/16)
- 第3章 SQLite3 (2007/12/21)
- 第4章 模板文件的扩展名 (2007/12/22)
- 第5章 功能测试 (2008/01/19)
- 第6章 redirect_to 与 url_for (2008/02/24)
- 第7章 config/initializers 目录 (2008/02/27)
- 第8章 生成 Rails 1.2 的 API 文档 (2008/03/04)
- 第9章 helper :all (2008/05/05)

