使用XForms和Ruby on Rails开发小型门诊管理系统,第2部分 - 编程入门网
://www.w3.org/2002/xforms");
xf|input {
display: table-row;
line-height: 2em;
}
xf|label {
display: table-cell;
text-align: right;
font-family: Ariel, Helvetica, sans-serif;
font-weight: bold;
font-size: small;
padding-right: 5px;
width: 250px;
}
xf|*{
display: table-row;
line-height: 2em;
}
#submitLabel{
display: table-row;
}
*:required {
background-color: yellow;
}
*:invalid {
background-color: yellow;
}
</style>
<xf:model id="patientModel" schema="patient.xsd">
<xf:instance xmlns="" id="patient">
<p:Info>
<FirstName></FirstName>
<MiddleName></MiddleName>
<LastName></LastName>
<Age></Age>
<Insurer></Insurer>
<Id></Id>
<PolicyHolder></PolicyHolder>
<Copay></Copay>
<Symptoms></Symptoms>
</p:Info>
</xf:instance>
<xf:submission action="http://localhost:3000/kiosk/create"
method="post"
id="submit-info"/>
</xf:model>
使用XForms和Ruby on Rails开发小型门诊管理系统,第2部分(6)时间:2011-11-29 ibm Michael Galpin请注意,模型引用了一个模式(patient.xsd)。XForms 会自动加载该模型并进行验证。此外还增加了一些 CSS 显示无效的数据。在浏览器中打开的结果如图 2 所示。 图 2. 包含验证和 CSS 的 XForms 用户必须输入必要的字段才能提交表单。如果输入的数据有效,将自动改变颜色并将焦点转移到新的表单字段。想一想,如果使用 JavaScript 需要编写多少代码。但利用 XSD 再加上一些 CSS 就轻松完成了。 XForms 提供了多种数据验证方式。不一定要使用 XML 模式,但这确实是一种简单的办法,尤其是对于很容易用模式描述的数据。客户端验证就绪之后,可以在服务器端集中处理提交的数据了。 表单提交 您可能已经注意到为表单提交定义了一个 URL。如果熟悉 Ruby on Rails,对这个 URL 应该不陌生。约定优于配置,因此遵循 Rails 的约定,URL /patient/create 对应 patient 控制器的 create 动作。使用 Ruby 生成脚本可以很容易实现,如清单 5 所示。 清单 5. 生成患者 scaffolding >ruby script/generate scaffold patient kiosk exists app/controllers/ exists app/helpers/ create app/views/kiosk 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/kiosk/_form.rhtml create app/views/kiosk/list.rhtml create app/views/kiosk/show.rhtml create app/views/kiosk/new.rhtml create app/views/kiosk/edit.rhtml create app/controllers/kiosk_controller.rb create test/functional/kiosk_controller_test.rb create app/helpers/kiosk_helper.rb create app/views/layouts/kiosk.rhtml identical public/stylesheets/scaffold.css 生成的东西有些不需要。可以删除没有用的文件。最重要的两个是 patient 和 kiosk_controller 类。kiosk_controller 类,您可能已经猜到,是用于处理 XForms 请求的控制器。现在看看如何修改模型和控制器以便保存来自 XForms 的 XML。 使用XForms和Ruby on Rails开发小型门诊管理系统,第2部分(7)时间:2011-11-29 ibm Michael Galpi |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |