快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
= "<Patients xmlns:xf=\"http://www.w3.org/2002/xforms\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" xmlns:p=\"http://developerworks.ibm.com/patient\" xmlns:ev=\"http://www.w3.org/2001/xml-events\">" %> <% for pat in @patient %> <%= "<Info DbId=\"" + pat.id.to_s + "\" ViewEditLinkDoc=\"\" ViewEditLinkTri=\"\">" %> <% doc = REXML::Document.new(pat.information) %> <%= doc.root.elements["LastName"].to_s %> <%= "</Info>" %> <% end %> <%= "</Patients>" %>

需要注意的是,该视图和 grab 视图一样,首 先将 Content-Type 头部设置为 “text/xml” 类型,这样 Mongrel 和 Firefox 就知道如何 处理它了。然后打开 Patients 标签并设置名称空间。有趣的是 for 循环:数据库中的每位患者都遍历 一次,在 XML 文章中生成对应的一组 <Info>...</Info> 标签。Info 标签有三个属性:

DbId — 患者在数据库中对应的 ID。

ViewEditLinkDoc — 这个局部变量包 含打开 doctorPatient 表单显示患者信息的链接。

ViewEditLinkTri — 类似于 ViewEditLinkDoc,这也是个局部变量,在 triagePatient 表单中显示患者信息。

显示 Info 起 始标签之后,从患者 XML 记录中检索病人的姓氏,就像在列表视图中检索一样(如 清单 4 所示)。结 束标签 </Info> 最后把患者记录存入 XML。患者全部遍历之后,for 循环执行结束,写上 </Patients> 标签完成 XML。

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

时间:2011-11-29 ibm Tyler Anderson

请注意,医生控制器中没有对应的 graball 方法。代码如清 单 6 所示。

清单 6. 医生控制器中的 graball 方法。

 def graball
@patient = Patient.find_by_sql("select * from patients");
end

不需要根据 ID 等唯一标识符去查找,只要一条 SQL 语句要求返回所有的患者。这就是为 清单 5 中的 graball 视图抓取所有患者的方法。

下面开始编写患者查找表单。

患者查找 XForm

这是本系列教程中的最后一个 XForm!有了这个表单之后,医生和护士很快就能按照姓氏找 到病人。创建一个新的 XForm(lookupPatient.xhtml)保存到 public 目录下,其代码如清单 7 所示。

清单 7. lookupPatient 表单

<?xml version="1.0" 

encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
   xmlns:xs="http://www.w3.org/2001/XMLSchema"
   xmlns:xf="http://www.w3.org/2002/xforms"
   xmlns:ev="http://www.w3.org/2001/xml-events">
 <head>
  <meta http-equiv="Content-Type"
     content="text/html; charset=ISO-8859-1" />
  <title>Patient Lookup</title>
  <xf:model id="patientModel">
   <xf:instance xmlns="" id="searchLastName">
    <search>
     <LastName/>
    </search>
   </xf:instance>
   <xf:instance xmlns="&q

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号