开启Rails开发之旅:从基础到博客应用搭建
立即解锁
发布时间: 2025-08-20 01:20:59 阅读量: 1 订阅数: 3 


Rails 3入门:从零开始构建Web应用
### 开启Rails开发之旅:从基础到博客应用搭建
#### 基础入门:创建简单的Rails应用
在开始Rails开发前,我们先创建一个简单的“Hello World”应用,以此来熟悉Rails的基本操作。
##### 创建动作(Action)
若想让`SalutationController`响应`hello`请求,需为其创建一个动作。在文本编辑器中打开`salutation_controller.rb`文件,并添加`hello`动作,代码如下:
```ruby
class SalutationController < ApplicationController
def hello
@message = 'Hello World!'
end
end
```
动作以Ruby方法的形式实现,通过`def`关键字可识别方法定义。在动作内部,设置了一个Ruby实例变量`@message`,其值将输出到浏览器。
##### 创建模板(Template)
动作定义完成后,下一步是添加HTML。Rails依据MVC模式,将包含HTML的文件分离到独立目录,HTML由视图负责。在`app/views`目录下,有一个与`SalutationController`关联的`salutation`目录,这里放置对应`Salutation`动作的模板文件。由于Rails允许使用ERb模板库在HTML中嵌入Ruby代码,模板文件使用`.html.erb`扩展名。
创建一个名为`hello.html.erb`的文件,放在`app/views/salutation/`目录下,并添加以下代码:
```html
<html>
<body>
<h1><%= @message %></h1>
</body>
</html>
```
`<%= %>`是嵌入式Ruby(ERb)输出标签,标签内的内容将作为Ruby代码进行求值,并将结果输出。
##### 配置路由(Routes)
要让Rails应用响应URL,需更新`config/routes.rb`文件。目前无需关注路由文件的详细工作原理,将文件内容替换为如下代码:
```ruby
Hello::Application.routes.draw do
match ':controller(/:action(/:id(.:format)))'
end
```
现在一切就绪,`SalutationController`将处理`hello`请求,并自动渲染`hello.html.erb`模板。使用`rails server`命令启动Web服务器,在浏览器中访问`http://localhost:3000/salutation/hello`,即可看到“Hello World”的问候信息。
#### 搭建博客应用:从项目创建到数据库配置
在掌握了基础操作后,我们开始搭建一个简单的博客应用,支持文章的创建和发布。
##### 项目概述
博客应用有两类用户:发布文章的用户和评论文章的用户,部分用户可能同时扮演这两种角色。并非所有用户都需要注册账号,还可添加邮件通知功能,方便用户分享有趣的文章。由于文章是应用的核心,我们从文章相关功能开始开发。
##### 创建博客应用
使用以下命令创建一个名为`blog`的Rails应用:
```bash
$ rails new blog
```
该命令会在当前工作目录下创建一个名为`blog`的子目录,包含应用的骨架和基础文件。进入`blog`目录,了解Rails的目录结构,如下表所示:
| 文件夹 | 描述 |
| ---- | ---- |
| app | 应用的所有组件 |
| config | 应用所有组件的配置文件 |
| db | 与使用的数据库相关的文件,以及迁移文件夹 |
| doc | 应用的文档,可能包含代码生成的文档和对其他开发者有用的文件 |
| lib | 应用可能使用的库 |
| log | 应用可能需要的日志文件 |
| public | 应用提供的静态资产,如图像、JavaScript和CSS文件 |
| script | 重要的`rails`脚本 |
| test | 单元、功能和集成测试 |
| tmp | 应用使用的临时文件夹 |
| vendor | 应用捆绑的外部库,如ge
0
0
复制全文
相关推荐










