您的位置:首页 > 编程语言 > Ruby

快速创建一个 Ruby 博客程序

2008-05-20 16:40 197 查看
快速创建一个 Ruby 博客程序
Author : Liuxiaohua E-mail: vincent860214@126.com

在本教程中,我将利用 NetBeans IDE 对 Ruby 的支持创建一个简单的 Web 应用程序。本文将演示如何创建一个 Ruby 博客程序。您将遵循这些基本流程创建模型、添加控制器并生成视窗。
一、教程需求
一个数据库服务器
支持 Ruby 的 NetBeans 6.0 IDE
二、创建示例数据库
创建 Ruby on Rails 项目之前,首先需要先创建一个 rubyweblog 数据库。
三、创建 Ruby on Rails 项目
首先,创建一个 Ruby on Rails 项目。默认情况下,Ruby on Rails 应用程序将创建在符合项目约定的目录结构中。

在 NetBeans IDE 中,选择 文件 > 新建项目。

在 类别 栏中选择 Ruby ,在 项目 栏中选择 Ruby on Rails 应用程序。单击 下一步 按钮。



注意:首次在 IDE 中创建 Ruby 项目时,IDE 会检查系统中是否还安装了其他 Ruby 软件(除了 IDE 随带的 JRuby 软件之外)。如果有,IDE 会弹出一个对话框,询问您选择使用哪一个软件。如果要使用 IDE 随带的 JRuby 解释器,就选择 JRuby,反之,选择安装的 Ruby。在 项目名称 栏中输入 RubyWebLog 。接受所有其他默认设置。

单击 完成 按钮,这样便创建了一个新项目。

IDE 将创建一个项目目录,名称与您的项目名称相同。您将看到:
项目 窗口包含应用程序的基本类别。需要特别关注的是 控制器、模型 和 视图 节点。在本教程中,我们将遵循基本流程创建模型、添加控制器并生成视窗。
输出 窗口将列出应用程序的文件列表。您可以单击 输出 窗口中的链接在编辑区域打开该文件。
四、配置数据库环境
接下来的步骤是编辑 database.yml 文件,该文件已经配置使用 MySQL 适配器和 development 数据库。您无需进行任何配置,除非设置了根用户口令。

打开 配置 > database.yml

编辑 database.yml 文件,在 development 配置中添加口令。

保存并关闭 database.yml 文件。

特别注意: 如果操作系统的主文件中未包含 localhost,则使用 127.0.0.1 代替。另外还需注意,在一些系统中,应使用小写字母进行数据库设置。

五、创建模型
在本节中,您将利用 Rails 生成器 创建应用程序的模型。Ruby 博客应用程序需要使用 Post 模型存储博客文章的实例。

在 项目 窗口中,右键单击 模型 节点,然后选择 生成..。

在 Rails 生成器 对话框的 参数 栏中输入 Post,然后单击 确定 按钮。



Rails 生成器 将创建一个名为 Post 的模型。输出 窗口将列出该操作创建的文件:
app/models/post.rb该文件包含 Post 模型的方法。该文件还将在编辑域中打开。
test/unit/post_test.rb 检验 Post 模型的测试单元。
test/fixtures/posts.yml安装模型的固定测试文件。
db/migrate/migrate/001_create_posts.rb定义数据库初始结构的迁移文件。



六、迁移数据库
接下来,我们需要修改迁移文件 001_create_posts.rb。首先添加信息配置数据库。

在 输出 窗口中,单击 001_create_posts.rb 文件的链接。

打开该文件,可以看到一个 self.up 方法(用于创建 posts 表)和一个 self.down 方法(用于释放 posts 表)。

将标题栏(以下代码的黑体部分)添加到 self.up 方法的 create_table 中,如下图所示:



在主菜单中,选择 文件 > 保存所有。

在 项目 窗口中,右键单击 RubyWebLog 节点,然后选择 迁移数据库 > 至当前版本。如下图。



该操作将更新数据库,使数据库中含有 posts 表。输出 窗口将显示迁移何时完成。

七、创建一个控制器
接下来,使用 Rails 生成器 创建一个控制器与 Post 模型交互。在本教程中,我们添加了支架(Scaffolding)代码,可提供一个 CRUD 界面用于在博客中创建、读取、更新和删除条目。

在 项目 窗口中,右键单击 控制器 节点,选择 生成。

在 Rails 生成器 对话框的 名称 栏中输入 Blog,置空 视图 栏,单击 确定 按钮。



这样将创建一个 blog_controller.rb 文件,并在编辑域中打开该文件。这时,项目 窗口的 控制 节点中就添加了一个 blog_controller.rb 节点。

编辑 blog_controller.rb,在其中添加以下 scaffolding 代码。此代码将为 Post 模型提供一个简单的 CRUD 应用程序。如下图。



八、运行应用程序
接下来,测试应用程序。

在 配置 节点中,打开 routes.rb。找到下面这行代码:

# map.connect '', :controller => "welcome"

删除注释标记(#),将 welcome 修改为 blog。



展开 公共 节点,右键单击 index.html,然后选择 删除。

index.html 将默认显示 Welcome 页面,而这并不是您想要的。通过删除 index.html, Rails 将在 routes.rb 中寻找需要显示的页面。在前面的步骤中,我们已经将 welcome 页面已经修改为 blog。

选择 文件 > 保存所有。

单击工具栏中的 运行主项目 按钮。

该操作将启动 WEBrick 服务器,它是 Ruby on Rails 框架的一部分。同时将启动 web 浏览器。下图是该应用程序的初始页面。
图1 RubyWebLog 的首页



单击New post 链接



输入内容,点击 Create 按钮



九、更多功能:再添加一个字段
此处,我们将再添加一个字段(除了Title字段之外),从而使 posts 表包含一个 Body 栏,用于提供博客的正文内容。创建字段的步骤现在应该很熟练了。

右键单击 数据库迁移 节点,选择 生成…。 在 Rails 生成器 对话框的 参数 栏中输入 AddBody,然后单击 确定 按钮。

IDE 将创建一个迁移脚本版本文件 002_add_body.rb,并在编辑域中打开该文件。

对 002_add_body.rb 作如下修改:



如果您再次返回迁移脚本,这个迁移脚本将会把正文栏添加到 posts 表中,然后又将它删除。

选择 文件 > 保存所有。

右键单击 RubyWebLog 节点,选择 迁移数据库 > 至当前版本。

返回浏览器,单击 New Post 链接,看 Ruby 如何识别新的正文字段。





十、更多功能:使列表看起来更像是一个博客
用于 BlogController 中的 scaffold 方法创建出一个基本的 CRUD 应用程序,使您能够轻松地对 Post 模型进行测试。现在,您利用 scaffold 方法生成同样的视窗,这样一来,用户界面可以由您来进行个性化定制。

在 项目 窗口中,右键单击 视图 节点,然后选择 生成…。

在 Rails 生成器 对话框中,从 生成 下拉菜单中选择 scaffold。

在 模型名称 栏中输入 Post,在 控制器名称 栏中输入 Blog 。将 操作 栏置空。选择 覆盖,强制 BlogController 重新生成,然后单击 确定 按钮。



IDE 会为 Post 模型创建一个视窗,并在 输出 窗口中列出内容。

展开 视图 > blog,并打开 list.rhtml,该文件用以显示博客条目的列表。 删除 <h1> 和 <table> 标记,并将其替换为下列代码:



此代码将为每个 post 操作实例都生成一个标题、正文和 Permalink。

选择 文件 > 保存所有,然后刷新浏览器,查看 Post 模型的新界面。



大功告成!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: