文章出处:http://edgeguides.rubyonrails.org/getting_started.html
再拾Rails的时候发现已经到3.0.3了, 巨大的改变发现找篇中文教程都找不到,于是索性根据官方教程一边学一边翻译,就当学习笔记。水平有限,不足此处敬请谅解。
1. 环境搭建
- Ruby1.8.7+ (那么由于187p248,249的bug可能会导致Rails3崩溃,官方建议使用1.9.2的Ruby版本)
- RubyGems
- SQLITE3数据库 (那么这个数据库是Rails内置支持的,我们也可以使用其他数据库,比如MySql5.5)
2. Rails的指导原则和理念
- DRY(Dont Repeat Yourself) - 保持代码清晰高效,这个一直是我喜欢rails的原因之一
- 约定大于配置 - rails假定你想要做什么以及准备如何做,而不是把任何事情都放到配置文件中去。比如我们说好数据库表的名称应该是模型类名称的小写的复数形式。那么rails会自动把该数据表与其模型类进行关联。
- REST是WEB应用的最佳模式 - 用resources以及标准的HTTP动作来组织你的应用。
3. 创建你的第一个应用
大多数的第一个应用要么是购物车要么就是博客, 我们也不能免俗. 我们将要在下面的内容中打造一个博客,也就是rails经常吹嘘的10分钟打造的博客系统(事实上用不了十分钟)
$ rails new blog
这将使rails为你创建一个blog工程 (rails -h可以查看rails命令的帮助)
$ cd blog
我们转到blog目录内。
那么在任何情况下,Rails会在你的工作路径内为你创建一个blog的文件夹。本教程的大多数工作都会在app文件夹内操作,这里有一个Rails默认创建应用时创建的文件夹以及文件说明:
文件/文件夹 | 说明 |
---|---|
Gemfile | 该文件允许你指定你程序所需要的gem (比如你用到了mysql数据库, 你需要在这里指定 gem "mysql"). |
README | 你的应用程序大体说明. 用这个来告诉他人该程序是干什么的, 等等. |
Rakefile | 该文件包含了一系列可以在终端运行的命令. |
app/ | 包含了应用程序的控制器,模型,以及视图. 在本教程中你将专注于该文件夹. |
config/ | 配置你应用程序的运行时规格,路由,数据库等等. |
config.ru | 基于服务器的Rack配置,用于启动程序. |
db/ | 显示你当前数据库的模式,以及数据库迁移. |
doc/ | 你应用的详细文档. |
lib/ | 你应用的扩展模块. |
log/ | 日志. |
public/ | 唯一可以被访问的文件夹. 你可以保存你的图像,javascript, 样式表(CSS), 以及其他静态文本. |
script/ | 包含启动你程序的rails脚本,并可以放置其他你用来部署或者运行你程序的脚本. |
test/ | 单元测试,夹具以及其他测试 |
tmp/ | 临时文件 |
vendor/ | 放置第三方代码的地方. 在一个典型的rails应用中, 这将包括ruby gems, rails源代码 (如果你拷贝到你的应用中的话), 以及包含额外功能的插件. |
接下来我们安装需要的gems
$ bundle install
(事实上绑定的gems都定义在gemfile中)
配置数据库连接:config/database.yml, 默认情况下是连接到SQLite3的, 如果你在使用SQLite3,保持默认就可以了, 如果是MySql,需要改为:
development:
adapter: mysql
encoding: utf8
database: blog_development
pool: 5
username: root
password:
|
接下来创建数据库。
$ rake db:create
该rake命令会根据你的数据库配置自动为你创建数据库
万事俱备,只欠服务器了
$ rails s
(新的script命令变化很大, 现在只需要输入 rails [option] [args] 就可以了)
默认情况下 rails 将启动 Webrick 服务器, 赶快打开你的浏览器在地址栏输入 http://localhost:3000/ 查看你的第一个rails程序 吧 :)
我们下节课见。