跨越边界: Streamlined,第1部分 - 编程入门网
令 script/server 启动服务器,并把浏览器指到 localhost:3000/trails/list。
现在就已经得到了一个简单的能够工作的带有数据库支持的 Web 应用程序,可以进行基于 CRUD 的每 个操作,如图 1 所示。可以看到主屏幕列出了每个项目和相关的图片,提供了 Ajax 窗口用来创建、读 取、更新和删除项目。 图 1. 简单的 Rails 应用程序 到现在,只付出了很少努力,就到达了一个可以把应用程序开发带到更高档次的地步。Rails 演示人 员总会展示搭建功能,因为它是如此之炫,而且对于调试和在匆忙之间为客户做演示,都极为有用。可以 通过代码生成器生成搭建 —— 在这个示例中输入了 script/generate scaffold Trail Trails —— 或 者在控制器中指定 scaffold 元编程标记。每种方式都有自己的用途。 跨越边界: Streamlined,第1部分(2)时间:2011-07-22 IBM Bruce Tate添加关系 搭建确实有一些明显限制:它不处理关系,也没有利用优秀的 Rails Web 服务或 Ajax 支持。为了说 明这些限制,要创建带有模型、视图和控制器的 Location。Location 与 Trail 之间存在一对多关系。 搭建并不能协助该关系的管理。 创建 location 的模型(script/generate model Location)和控制器(script/generate controller Location Locations)。就像对 TrailsController 所做的那样,把 scaffold :location 添加到 location_controller.rb。要把 Location 和 Trail 编织在一起,两者间需要多对一关系,所以 把 belongs_to :location 添加到 Trail,把 has_many :trails 添加到 Location,如清单 3 所示: 清单 3. trail.rb 和 location.rb 间的关系
把 db/migrate/002_create_locations.rb 编辑成清单 4 那样: 清单 4. locations 表的迁移
输入 rake migrate 运行迁移。(要查看关于迁移的更多内容,请参阅 跨越边界: Rails 迁移。) 一下子就有了这么多设置。现在可以深吸一口气,总结以下到目前为止构建的内容: 有了一个针对赛道的数据库表和另一个针对地点的数据库表。 有了 Ruby 模型对象,对象之间还有 Rails 关系。 模型现在在赛道和地点之间有多对一关系。 有了处理模式中的变化的策略,也可以收回目前为止两个主要模式变化中的任何一个。 有了原始用户界面。 虽然可能想添加一些验证,但模型对象是适合生产应用的第一级 Rails 对象。许多 Rails 模型对象 之所以简单,是因为属性都是用元编程动态添加的。为了演示现在的关系,通过控制台添加一些数据。输 入 script/console 启动控制台,并输入清单 5 中的命令: 跨越边界: Streamlined,第1部分(3)时间:2011-07-22 IBM Bruce Tate清单 5. 把数据添加到赛道和地点
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |