快速业务通道

使用XForms 和 Ruby on Rails开发小型门诊管理系统,第1部分 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
在列表的后面加上 ibm_db,如清单 8 所示。

清单 8. 为 Rails 增加 DB2 支持

RAILS_CONNECTION_ADAPTERS = %w( mysql postgresql sqlite firebird sqlserver db2 oracle sybase openbase frontbase ibm_db )

现在可以生成使用 XML 的模型了。首先按照常规方式使用 Rails 生成脚本建立一个模型,如清单 9 所示。

清单 9. 生成 Rails 模型

>ruby script\generate model doctor exists app/models/ exists test/unit/ exists test/fixtures/ create app/models/doctor.rb create test/unit/doctor_test.rb create test/fixtures/doctors.yml create db/migrate create db/migrate/001_create_doctors.rb

使用XForms 和 Ruby on Rails开发小型门诊管理系统,第1部分(8)

时间:2011-11-29 ibm Michael Galpin

生成的迁移脚本和预期的一样。我们将利用它生成使用 XML 的另一个表,如清单 10 所示。

清单 10. Rails 迁移脚本:001_create_doctors.rb

class CreateDoctors < ActiveRecord::Migration
 def self.up
 create_table :doctors do |t|
 t.column :profile, :xml, :null => false
 end
 end
 def self.down
 drop_table :doctors
 end
end

这是非常典型的 Rails 迁移脚本。仅定义了一列 “profile”。惟一特别的一点是将列的类型定义为 xml。我们已经使用 Rails 创建了连接到数据库的 Ruby 脚本,并建立了包含 XML 列的表。剩下的就是测试脚本了。

测试 Ruby 和 DB2

测试 Ruby/DB2 pureXML 脚本很容易。不过是一般的 Rails 迁移罢了。我们使用 Ruby 的 rake 命令,如清单 11 所示。

清单 11. 运行迁移脚本

>rake db:migrate (in /xmlmd) == CreateDoctors: migrating =================================================== -- create_table(:doctors) -> 0.7840s == CreateDoctors: migrated (0.7860s) ==========================================

这样就完成了。您也许希望使用 --trace 选项帮助调试错误。一般来说,对于诊断连接错误、用户名/口令错误、指定的数据库或模式错误等,非常有效。下面需要使用 DB2 检查是否存在新建表,如清单 12 所示。

清单 12. 检查和描述新表

db2 => describe table xmlmd.doctors Data type Column Column name schema Data type name Length Scale Nulls ------------------------------- --------- ------------------- ---------- ----- ------ ID SYSIBM INTEGER 4 0 No PROFILE SYSIBM XML 0 0 No 2 record(s) selected.

由此可见,我们已经使用 Ruby on Rails 建立了包含 XML 列的 DB2 表。此后就可以使用 Rails 完成很多有趣的工作了。可以创建新的迁移脚本向数据库插入 XML 数据。Ruby 创建 XML 文档特别简单,只需要转化成字符串并发送给 DB2。稍加修改还可以利用 Rails 中的脚手架来处理 XML。

结束语

本系列的第一部分说明了如何利用 XForms、DB2 pureXML 和 Ruby on Rails 快速构建以 XML 为核心的 Web 应用程序。考察了 XForms 如何简化了交互式前端的创建。交互性类似于 Ajax,但是不需要编写 JavaScript 或映射代码。我们还介绍了使用 DB2 pureXML 存储和查询 XML 是多么简单。DB2 的 SQL/XML 允许混合使用 SQL 和 XQuery,可以方便地访问数据库中的 XML 数据。最后还介绍了如何设置 Ruby on Rails 与 DB2 pureXML 交互。稍加调整技能使用 Ruby on Rails 创建支持 XML 的 DB2 表了。所有技术的关键部分都已完结。下一部分我们将使用 XForms、DB2 pureXML 和 Ruby on Rails 创建用于医院门诊管理的 Web 应用程序。

本文配套源码

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号