使用XForms和Ruby on Rails开发小型门诊管理系统,第4部分 - 编程入门网
isit
with patient:<br/></xf:label>
</xf:textarea>
</div>
<div id="submit">
<xf:submit submission="submit-info">
<xf:label>Submit Information</xf:label>
</xf:submit>
</div>
</p>
<a href="doctor/list">Back to List</a>
</body>
</html>
首先要注意实例数据中新增加了两个元素 BPressure 和 Notes。这两个字段保 存医生所测得的患者血压,并告诉医生可以输入文本字段。这里的 submit-info 和 load_data 提交元素 的 action 属性指向医生控制器。最后,还可以看到 XForm 体中声明了两个新的 XForms 元素。 下面生成医生视图和控制器的 scaffolding。 使用XForms和Ruby on Rails开发小型门诊管理系统,第4部分(3)时间:2011-11-29 ibm Tyler Anderson医生视图和控制器 Rails scaffolding 为 Ruby 应用程序的开发提供了非常好的起点。生成的医生视图和控制器 scaffolding 如清单 2 所示。 清单 2. 生成医生视图和控制器的 scaffolding ruby script/generate scaffold patient doctor exists app/controllers/ exists app/helpers/ create app/views/doctor exists app/views/layouts/ exists test/functional/ 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/doctor/_form.rhtml create app/views/doctor/list.rhtml create app/views/doctor/show.rhtml create app/views/doctor/new.rhtml create app/views/doctor/edit.rhtml create app/controllers/doctor_controller.rb create test/functional/doctor_controller_test.rb create app/helpers/doctor_helper.rb create app/views/layouts/doctor.rhtml identical public/stylesheets/scaffold.css 要注意很多东西已经写好了,Rails 仅创建了还没有的文件。接下来需要定义 doctor 控制器中的 grab 和 update 方法,如清单 3 所示。 清单 3. 定义 doctor 控制器中的 grab 和 update 方 法 def grab id = @request.env["HTTP_REFERER"].split(''='')[1] @patient = Patient.find(id) doc = REXML::Document.new(@patient.information) if doc.root.elements["Notes"] == nil then el = REXML::Element.new("Notes") doc.root.add el end if doc.root.elements["BPressure"] == nil then el = REXML::Element.new("BPressure") doc.root.add el end @patient.information = doc 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 @patient.update_attributes(params[:patient]) redirect_to :action => ''list'' end 使用XForms和Ruby on Rails开发小型门诊管理系统,第4部分(4)时间:2011-11-29 ibm Tyler Anderson首先要注意,grab 方法和其他两个控制器(kiosk 与 tr |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |