快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
l/ dependency model exists app/models/ exists test/unit/ exists test/fixtures/ skip app/models/patient.rb identical test/unit/patient_test.rb identical test/fixtures/patients.yml create app/views/triage/_form.rhtml create app/views/triage/list.rhtml create app/views/triage/show.rhtml create app/views/triage/new.rhtml create app/views/triage/edit.rhtml create app/controllers/triage_controller.rb create test/functional/triage_controller_test.rb create app/helpers/triage_helper.rb create app/views/layouts/triage.rhtml identical public/stylesheets/scaffold.css

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

时间:2011-11-29 ibm Tyler Anderson

现在更新 triage 控制器 (app/controllers/triage_controller.rb),定义 grab 并修改 update 控制器,如清单 6 所示。

清单 6. 编辑 triage 控制器

 def grab
id = @request.env["HTTP_REFERER"].split(''='')[1]
@patient = Patient.find(id)
end
def update
doc = REXML::Document.new("<Info></Info>")
params[:Info].each_pair do |key,value|
if (key.index('':'') == nil) #removes
el = REXML::Element.new key
el.add_text value
doc.root.add el
else
doc.root.add_attribute key,value
end
end
id = @request.env["HTTP_REFERER"].split(''='')[1]
@patient = Patient.find(id)
@patient.information = doc
approvedCode = params[:id]
if approvedCode == "1" then
@patient.approved = "true"
end
@patient.update_attributes(params[:patient])
redirect_to :action => ''list''
end

其中的 grab 和 kiosk(如 清单 2 所示)控制器的 grab 相同。update 惟一的不同是使 用了数据库新增的 approved 字段。请注意,该字段的值从 ID 字段抓取,因此如果更新该记录的 URL 是 http://localhost:3000/triage/update/1,那么该患者就通过批准了。

最后还需要修改一下 triage 布局(app/view/layouts/triage.rhtml),并按照 kiosk 布局的方式定义(<%= yield % >)。要使 grab 视图正常工作需要做这样的修改。既然说到了 grab 视图,将 grab 视图从 kiosk 视图(app/view/kiosk/grab.rhtml)复制到 triage 视图文件夹(app/view/triage)。这样 grab 视图 和控制器就准备好了。

接下来需要修改 patient 类(patient.rb)以便容纳新增的数据库字段。

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

时间:2011-11-29 ibm Tyler Anderson

Patient 类

为了在数据库中保存 approved 变量,需要修改 patient 类 (app/model/patient.rb),如清单 7 所示。

清单 7. 修改 patient 类

class 

Patient < ActiveRecord::Base
def information=(value)
self[:information] = value.to_s
end
def approved=(value)
self[:approved] = value.to_s
end
end

patient 类修改好后,接下来要修改 list 视图。

Triage list 视图

这是运行护士表单需要修改的最后一个视图。正确的 list 视图应该允许单击患者的名字来编辑其信息。修改 list 视图(app/view/triage/list.rhtml),如清单 8 所示。

清单 8. 修改 list 视图

<h1>Listing patients</h1> <table> <tr> <th><%= "First Name" %></th> <th><%= "Last Name" %></th> <th><%= "Approved" %></th> </tr> <% for patient in @p

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