快速业务通道

跨越边界: Streamlined,第1部分 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
,您可能需要扩展生成的 代码,但初始的应用程序从它本身来说,其功能性令人惊讶。

请下载初始 alpha 版本的 Streamlined .gem 文件(参阅 参考资料)。切换到保存 .gem 的目录, 并输入 gem install streamlined。所需要的所有内容都会自动安装。如果出现问题,可以通过 streamlined 的博客得到优秀的支持,也有商业支持可选。

现在是把 Streamlined 投入实践的时候了。首先,输入 script generate streamlined location trail,运行 Streamlined 生成器。当提示是否替换 locations 和 trails 控制器时,回答 y。

把浏览器指向 http://localhost:3000/locations/list 查看图 3 中的结果:

图 3. 默认的 Streamlined 应用程序

跨越边界: Streamlined,第1部分 - 编程入门网

可以立即让 Streamlined 生成一个更完整的应用程序。把 Streamlined 列表与 图 1 中的列表比较 。区别是惊人的:

默认应用程序处理关系,单击其中一个 Edit 链接就可以看到。在下一节会看到更多关于关系的内容 ,在这篇文章的第 2 部分中甚至会更多。

应用程序更好地运用样式表,并生成更复杂的样式表。 Streamlined 运用各种技术,例如在表格周围 使用 <div>s,使得每个页面元素更容易进行样式处理。Streamlined 的 alpha 版本的样式处理有 限,但是预期未来的版本会突破这个限制。

应用程序在左侧有默认的导航侧栏,在顶部有菜单和标头。这些菜单有更完整的默认行为,而且能够 定制。

表格每一行都有代表编辑、显示或删除行的图片,应用程序还有额外的图片代表创建新条目、导出 CSV 以及把整个表导出为 XML。

这个页面看起来更像默认应用程序,而不太像不完整的搭建。这正是 Streamlined 的亮点。在深入之 前,先对 Streamlined 的工作方式做个简单描述。

先决条件

要使用 Streamlined,先要有一个可以工作的数据库模式、一个使用经典 Rails 工具和规范(在这篇 文章中已经见到)的模型。然后,用 script/generate streamlined model1, model2, 等等命令生成 Streamlined 界面。Streamlined 观察 Rails 的命名规范,并在处于开发模式时频繁地重新装入应用程 序对象,这样只要刷新浏览器,就可以看到最新的代码变化。

像 Rails 搭建一样,Streamlined 是个元编程框架,用元数据构建默认应用程序,构建的程序可以用 各种方式定制。框架查询两个元数据源:活动记录模型和每个模型对象的定制元数据文件。默认情况下, Rails 从活动记录内捕获到足够的元数据,构建复杂的用户界面。活动记录查询数据库表,获得表中数据 之外的信息,并且维护您所提供的其他信息,例如主键、关系、字段、字段类型、字段大小。 Streamlined 利用所有这些信息来提供默认应用程序,但是要调整应用程序,框架还需要更多数据。 Streamlined 提供了额外的元数据来源。

快速查看 trails/app 下的目录,可以看到 Rails 的常见目录:models、controllers、views 和 helpers。但是还有第五个目录可用:streamlined。就是在这里指定额外的元数据。streamlined 目录中 四个文件快速列表说明了问题:

location.rb 和 trail.rb 包含同名模型的详细定制信息。

streamlined_relationships.rb 包含活动记录中指定的关系的更多信息,例如 Streamlined 要如何 呈现关系。

streamlined_ui.rb 包含全局用户界面问题的配置信息,例如是否创建头、尾以及左侧导航栏。

Streamlined 立刻组合了代码生成(它生成可以修改的代码)和真正的元编程(它使用 Ruby 语言在 运行时把代码动态地添加到应用程序)开始工作。Streamlined 生成日后可能要修改的静态内容和页面。 例如,生成器直接把样式表和图片复制到您的项目。可以用真正的元编程或代码生成来创建视图,视图可 能需要修改,也可能不需要修改。

跨越边界: Streamlined,第1部分(5)

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