ruby博客系统开发-----NetBeans篇

     以前用过ASP,asp.net,PHP,Python开发的博客系统,对于ruby很陌生,ruby语言不是很流行,毕竟ruby语言是日本人发明的,也许更好用。固然要实践以后才知道。我查阅了图书馆有关ruby的书籍与源代码,试着练习一下,下面是个人开发心得。 html

     ruby开发要求 mysql

一个数据库服务器 web

支持 Ruby 的 NetBeans IDE 8.1,目前最新版本,固然使用visual studio,MyEclipse也能够开发ruby程序。这里介绍NetBeans。 sql

建立示例数据库 数据库

注意:本教程使用 MySQL 数据库服务器。有关在 Ruby 应用程序中有使用MySQL 数据库服务器的信息,请参阅安装和配置 Ruby 支持。本文档中一样包括如何使用 Java DB 数据库服务器的技巧。 浏览器

建立 Ruby on Rails 项目以前,首先须要先建立一个 rubyweblog_development 数据库。步骤以下: ruby

打开一个命令窗口。 服务器

启动 MySQL 数据库服务器,若是它尚未启动。 app

输入如下命令建立 rubyweblog_development 数据库,而后单击回车键。
mysqladmin -u root -p create rubyweblog_development
注意: 若是根用户未设置口令,则省略 -p 参数。
框架

建立 Ruby on Rails 项目

首先,建立一个 Ruby on Rails 项目。默认状况下,Ruby on Rails 应用程序将建立在符合项目约定的目录结构中。

NetBeans IDE 中,选择 File > New Project。

在 Categories 栏中选择 Ruby ,在 Projects 栏中选择 Ruby on Rails Application。单击 Next 按钮。

注意:首次在 IDE 中建立 Ruby 项目时,IDE 会检查系统中是否还安装了其余 Ruby 软件(除了 IDE 随带的 JRuby 软件以外)。若是有,IDE 会弹出一个对话框,询问您选择使用哪个软件。若是要使用 IDE 随带的 JRuby 解释器,就选择 JRuby,反之,选择安装的 Ruby。有关更多信息,请参阅安装和配置 Ruby 教程中的 Configuring the IDE to Use Your Own Ruby Installation 一节。

在 Project Name 栏中输入 RubyWebLog 。接受全部其余默认设置。

单击 Finish 按钮,这样便建立了一个新项目。

IDE 将建立一个项目目录,名称与你的项目名称相同。您将看到:

Projects 窗口包含应用程序的基本类别。须要特别关注的是 Controllers、Models 和 Views 节点。在本教程中,咱们将遵循基本流程建立模型、添加控制器并生成视窗。

Output 窗口将列出应用程序的文件列表。你能够单击 Output 窗口中的连接在编辑区域打开该文件。

配置数据库环境

接下来的步骤是编辑 database.yml 文件,该文件已经配置使用 MySQL 适配器和 development 数据库。你无需进行任何配置,除非设置了根用户口令。

打开 Configuration > database.yml

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

保存并关闭 database.yml 文件。

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

建立模型

在本节中,你将利用 Rails Generator 建立应用程序的模型。Ruby 博客应用程序须要使用 Post 模型存储博客文章的实例。

在 Projects 窗口中,右键单击 Models 节点,而后选择 Generate。

在 Rails Generator 对话框的 Arguments 栏中输入 Post,而后单击 OK 按钮。

Rails Generator 将建立一个名为 Post 的模型。Output 窗口将列出该操做建立的文件:

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。首先添加信息配置数据库。

在 Output 窗口中,单击 001_create_posts.rb 文件的连接。

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

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

代码示例 1: 001_create_posts.rb 的代码
class
CreatePosts < ActiveRecord::Migration
  def self.up
   create_table :posts do |t|

t.column "title", :string
   end
  end
  def self.down
   drop_table :posts
  end
end

在主菜单中,选择 File > Save All。

在 Projects 窗口中,右键单击 RubyWebLog 节点,而后选择 Migrate Database > To Current Version。

该操做将更新数据库,使数据库中含有 posts 表。Output 窗口将显示迁移什么时候完成。

建立一个控制器

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

在 Projects 窗口中,右键单击 Controllers 节点,选择 Generate。

在 Rails Generator 对话框的 Name 栏中输入 Blog,置空 Views 栏,单击 OK 按钮。

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

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

代码示例 2: blog_controller.rb 的代码
class
BlogController <
ApplicationController
scaffold :post
end


运行应用程序

接下来,测试应用程序。

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

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

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

展开 Public 节点,右键单击 index.html,而后选择 Delete。

index.html 将默认显示 Welcome 页面,而这并非你想要的。经过删除 index.html, Rails 将在 routes.rb 中寻找须要显示的页面。在前面的步骤中,咱们已经将 welcome 页面已经修改成 blog。

选择 File > Save All。

单击工具栏中的 Run Main Project 按钮。

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

图 1: RubyWebLog 主页

单击 New 按钮。

图 2: 建立新日志

输入一个标题,而后单击 Create 按钮。

下图就是建立博客日志的一个例子。

图 3: 成功建立博客日志

更多功能:再添加一个字段

此处,咱们将再添加一个字段(除了Title字段以外),从而使 posts 表包含一个 Body 栏,用于提供博客的正文内容。建立字段的步骤如今应该很熟练了。

右键单击 Database Migrations 节点,选择 Generate。 在 Rails Generator 对话框的 Arguments 栏中输入 AddBody,而后单击 OK 按钮。

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

对 002_add_body.rb 做以下修改:

代码示例 3: 002_add_body.rb 的代码
class AddBody < ActiveRecord::Migration
  def self.up
add_column 'posts', 'body', :text
  end
  def self.down
remove_column 'posts', :body
  end
end

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

选择 File > Save All。

右键单击 RubyWebLog 节点,选择 Migrate Database > To Current Version。

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

图 4:含有正文字段的新日志


再建立一些博客条目。例如:

图 5: 更多博客日志

更多功能:使列表看起来更像是一个博客

用于 BlogController 中的 scaffold 方法建立出一个基本的 CRUD 应用程序,使您可以轻松地对 Post 模型进行测试。如今,您利用 scaffold 方法生成一样的视窗,这样一来,用户界面能够由您来进行个性化定制。

在 Projects 窗口中,右键单击 Views 节点,而后选择 Generate。

在 Rails Generator 对话框中,从 Generate 下拉菜单中选择 scaffold。

在 Model Name 栏中输入 Post,在 Controller Name 栏中输入 Blog 。将 Actions 栏置空。选择 Overwrite,强制 BlogController 从新生成,而后单击 OK 按钮。

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

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

代码示例 4: list.rhtml 代码
<h1>The Ruby Blog</h1>
<% @posts.each do |post| %>
  <h2><%= post.title %></h2>
  <p><%= post.body %></p>
  <small> <%= link_to 'Permalink', :action => 'show', :id =>
post%></small>
  <hr>
<% end %>

此代码将为每一个 post 操做实例都生成一个标题、正文和 Permalink,如图 6所示。

选择 File > Save All ,而后刷新浏览器,查看 Post 模型的新界面。

图 6: 新的、改进的模型界面

想要首先显示最新的条目,就须要经过在 @posts in list.rhtml 的末尾添加 .reverse 来反转排序次序:

<% @posts.reverse.each do |post| %>

保存文件并刷新浏览器,博客程序将显示以下内容:

图 7: 反序显示博客日志

end,较之PHP开发博客系统差很少,但方便一些。

相关文章
相关标签/搜索