使用XForms和Ruby on Rails开发小型门诊管理系统,第3部分 - 编程入门网
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 AndersonPatient 类 为了在数据库中保存 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 视图
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |