- Rails 应用一般都从
rails new
命令开始,这个命令会在你指定的目录中Rails 应创建用的骨架。 - bundle install
- Rails 目录结构简介
文件/文件夹 | 作用 |
---|---|
app/assets | 应用的静态资源文件,例如层叠样式表(CSS)、JavaScript文件和图像 |
app/assets | 应用的核心文件,包含模型、视图、控制器和辅助方法 |
bin/ | 可执行的二进制文件 |
config/ | 应用的配置 |
doc/ | 应用的文档 |
lib/ | 可执行的二进制文件 |
lib/assets | 代码库的静态资源文件,例如层叠样式表(CSS)、JavaScript 文件和 |
图像 | |
log/ | 应用的日志文件 |
public/ | 公共(如浏览器)可访问的文件,例如错误页面 |
bin/rails/ | 生成代码、打开终端会话或启动本地服务器的程序 |
test/ | 应用的测试 |
tmp/ | 临时文件 |
vendor/ | 第三方代码,例如插件和 gem |
vendor/assets/ | 第三方静态资源文件,例如层叠样式表(CSS)、JavaScript 文件和图像 |
README.md/ | 应用简介 |
Rakefile/ | 使用 rake 命令执行的实用任务 |
Gemfile/ | 应用所需的 gem |
Gemfile.lock/ | gem 列表,确保这个应用的副本使用相同版本的 gem |
config.ru/ | Rack 中间件的配置文件 |
.gitignore/ | Git 忽略的文件模式 |
4.模型-视图-控制器
Rails 采用了“模型-视图-控制器”(简称 MVC)架构模式。这种模式把应用中的数据(例如用户信息)与显示数据的代码分开,这是图形用户界面(Graphical User Interface,简称 GUI)常用的架构方式。
与 Rails 应用交互时,浏览器发出一个请求(request),Web 服务器收到请求之后将其传给 Rails 应用的控制器,决定下一步做什么。某些情况下,控制器会立即渲染视图(view),生成 HTML,然后发送给浏览器。在动态网站中,更常见的是控制器与模型(model)交互。模型是一个 Ruby 对象,表示网站中的一个元素(例如一个用户),并且负责与数据库通信。与模型交互后,控制器再渲染视图,把生成的 HTML 返回给浏览器。
5.练习
-
练习题一:把 hello 动作(代码清单 1.8)中的“hello, world!”改成“hola, mundo!”。
-
练习题二:使用倒置的感叹号(如“¡Hola, mundo!”中的第一个字符),证明 Rails 支持非 ASCII 字符。在 Mac 中输入 ¡ 字符的方法是按 Option-1 键;此外,也可以直接把这个字符复制粘贴到编辑器中。
-
练习题三:按照编写 hello 动作的方式(代码清单 1.8),再添加一个动作,命名为 goodbye,渲染文本“goodbye, world!”。然后修改路由文件(代码清单 1.10),把根路由改成 goodbye。
(1)添加动作goodbye
(2)修改路由文件
(3)结果