作者:empty 页数:301 出版社:empty |
本书从Ruby和Rails的历史讲起, 以在Rails框架上克隆故事共享网站digg.com为例,详细讲述了Ruby和Rais的安装过程、框架组成部分、与AJAX和Web 2.0技术结合、安全措施、高级话题和扩展功能等。本书带领读者运用最新的Web 2.0技术和简洁的Ruby编程语言,建立数据库驱动的交互的易建、易用、易维护的网站应用。框架并建立健壮网络应用的开发人员提供强大的技术支持。本书注重实用性, 适合初学者迅速掌握Ruby开发工具的使用方法, 为希望深入了解RailsRuby是一门开源的解释性脚本语言, 具有很强的可扩展性和可移植性, 用于快速而简单的面向对象编程。Rails是用Ruby编写的全栈的、用来开发以数据库为后台的Web应用的开源框架。RubyonRails(常简化为Rais) 的设计思想就是“更少的编程, 更简单的配置”.Rails的安装和配置非常简洁, 避免了处理繁杂的XML配置文件。其编码简单, 很多代码都是可以自动生成的, 可以自动生成MVC, 可以自动生成框架、Web服务, 越少的编程量就意味着越少的bug。因此, 它得到了大名鼎鼎的实用主义程序员Dave Thomas和AndyHunt的大力推崇, 日益受到广大程序员的青睐。Rails始终坚持自我发展, 不肯成为别的框架的附庸。一方面,这推延了它的流行时间:另一方面,也使得它在流行时就已经很完善、很强大,
本书实用性强,内容丰富,涵盖了安装向导、基础架构和功能扩展等细节,既可以作为初学者了解Ruby开发工具的指导书, 也可以为高级开发人员提供强大的技术支持。本书引导读者使用Web 2.0技术和Ruby编程语言, 逐步建立了一个交互的故事共享网站。在此感谢张大鹏、曹艳、唐健、彭松和毕永东等人积极参与本书的翻译工作。在翻译过程中,我们力争做到尊重原意、翻译准确。我们在书中列举的各种版本的软件环境中,对所有代码进行了调试,对由于版本差异导致的不同现象予以标注,并尽力修正了原文的一些小差错。但是由于水平有限,不当和疏漏之处在所难免,敬请广大读者谅解。
自2005年12月Rails发布以来, RubyonRails给Web开发技术带来了巨大的震撼。从本书通过复制颇为流行的故事共享网站digg.com, 带领读者了解Rails框架的组成部分。本书适合那些渴望多了解RubyonRails的读者, 同样非常适合正寻求Web应用的面向本书并非专业读物, 因此并不要求读者是专业程序员。本书为那些准备步入中级的Web开在进一步阅读的过程中, 读者将了解RubyonRails框架的组成部分, 学习基础Ruby编在软件安装方面, 本书涵盖Ruby基础、RubyonRails和在MacOSX、Windows以及Linux当然,网站随着时间的推移需要更新,本书还将讲述如何确保读者免于粗心改动代码带
谢在我的视线几乎未曾离开计算机的几个月中发生的一切。人和首席开发者。他的Rails咨询机构和应用开发公司limited overload(http//imited-overload.de/)首先感谢SitePoint为我提供这次著书的机会。流传已久的短语“建房、生养、种树”是特别感谢技术编辑Matthew M again清晰、精准的注释, 感谢执行编辑Simon Mackie对感谢Rail sCore团队迅速为我组建了非常好的框架, 为著书奠定了基础, 使得我的开发最后, 要感谢我的家人, 特别是Alice和Gwen, 对我的事业给予力量、鼓励和信任。感Patrick Lenz从事Web应用开发工作已经有10年了, 他是freshmeat net软件门户网站的创始主要负责eins.de公司的重新开张, eins.de是目前德国最大的信息娱乐团体, 也是当今欧洲最流行的RubyonRails网站。Patrick与妻子Alice和女儿Gwendolyn居住在德国的Wiesbaden。女儿征服世界的历程(他的作品通常发布在Flickr上, 可以在http:/flick.com/photos/scoop/获得)。他还喜欢车、音乐以及和朋友们在一起的周末宴会。Luke Redpath是一位程序员, 在Web设计和开发领域有7年多的工作经验。除了是一名PHP和ASP开发者, Luke已经使用Ruby和Rails达两年之久, 钻研并发布了一些Ruby库和Rails插件, 其中包括UJS——Rails友好JavaScript插件(http//www.ujs4rails.com/) .他目前与其长期合作伙伴Julie居住在英国伦敦北部。日本从事过几年英语教学。他是Melb our e's Web Standards Group(http:/webstandardsgroup.org/)的创办者。他喜欢游泳、听古典爵士乐或喝清爽的Coopers麦啤, 当然不是同时进行。Matthew和妻子Kimberley、女儿Sophia一起生活。客。他为SitePoint撰写了50余篇文章, 但是却因其著作Build Your Own Database DrivenWebsite Using PHP&MySQL(http:/www.siepointcom/books/phpmysqll/) 而广为人知。Kevin现在住在澳大利亚的墨尔本,他喜欢即兴喜剧表演和驾驶轻型飞机。
第1章:RubynRails简介
本章涉及Rails框架的历史, 解释了支持Rails的重要概念, 阐明了计划在示例应用中创
第2章:技术准备
本章是实际操作的开始, 将带领读者安装各种需要的软件, 把自己的Mac或PC变成强
第3章:Ruby简介
本章从拆分Rails框架层开始, 讲述在各种应用生存周期中的环境分离, 介绍构成Rails
本章将首先生成几行代码,然后创建存储数据的类,并展示数据视图和操作两者交互的
第6章:助手、窗体和布局
本章从了解Rails内置助手如何削减可满足应用程序功能的代码量入手, 将为读者演示
这才是读者购买本书的原因,这是需要面对的事实!本章将带领读者熟悉为应用程序添
本章展示采用为应用程序添加简单用户认证来阻止恶意人士进入的细节,内容包括
最初的网络日志到后来在传统媒体中的广泛应用,可能正是对这种新框架的渴慕,促使读者
·第4章:Rails揭秘
应用基础的模型-视图-控制器结构本章还将指导读者建立数据库连接,以便应用程序可以
存储和获取数据, 并演示一些用来管理Rails以外数据库环境的GUI工具的用法
●第5章:模型、视图和控制器
控制器
如何创建一个全功能窗体, 并用CSS来设定最终显示效果, 使得窗体外观更漂亮最后, 讲
述如何编写单元和功能测试来验证应用程序是否按照预期运行
·第7章:AJAX与Web 2.0
加一些极好效果的步骤, 使用AJAX可以更新部分页面, 而不需要重载全部页面在此过程
中, 将讲述在对象间建立不同关系的方法, 以及确保应用程序使用简洁的URL.
●第8章:安全措施
第10章; Rails插件
本章将演示如何为示例应用程序添加插件插件是为应用程序提供附加功能的组件本
章还将讲述模型可用的高级关联
·第11章:调试、测试和基准测试
本章讲述测试和基准测试,还有完成代码集成测试的原因,并详细分析两个示例,演示
在应用程序出错时进行调试的方法.
·第12章:部署和产品使用
在完成开发特性鲜明、功能全面的应用程序之后,一定要部署应用程序,以便其他人可
以使用本章介绍向产品服务器部署应用程序的可用选择,并带领读者逐步完成将应用发布
到全世界的过程
2.5建立基础.
第1章RubynRails简介.1
1.1历史.
1.2开发原则.
1.2.1惯例优先.
1.2.2不重复自我.
1.2.3灵活的开发.
1.3构建Web应用程序示.-7
1.3.1digg简介.7
1.3.2应用程序示例的特性.8
1.4小结.
第2章技术准备.
2.1所需软件的成本.
2.2在Windws系统上安装Ruby
2.3在MacSX系统上安装Ruby
2.3.2MacSX 10.4(Tiger) 和
2.4在Linux系统上安装RubynRails-22
2.4.1使用包管理器.
2.5.1管理所有内容的单目录结构-28
32.5.2创建标准目录结构.29
.42.6开始编写应用程序.30
.42.7选择文本编辑器.32
.52.7.1 Windws文本编辑器.32
.62.7.2MacSX文本编辑器.33
2.7.3 Linux和交叉平台编辑器.35
2.8小结.35
第3章Ruby简介.36
3.1Ruby是脚本语.
3.1.1编译语言.
3.1.3较大的性能争议.37
3.2Ruby是面向对象的语言.37
3.3读写Ruby代码.
3.3.1交互式的Ruby界面(irb) . 40
3.3.2与Ruby对象交互.41
3.3.3Ruby中的标点.
3.4在Ruby中使用面向对象编程.44
3.4.1类和对象.
3.4.2对象层功能.
3.4.3类层功能.
3.4.4继承.
3.4.5返回值.
3.5标准输出.
3.6Ruby核心类.52
5.1.3使用Rails控制台管理数据.91
5.1.4隐藏的SQL语句.94
5.2生成控制器.95
5.2.1运行gen crate本.
5.2.2输出结果分析.
5.2.3返回应用程序.-.97
5.3创建视图.98
5.3.1用支架生成视图.
5.3.2创建静态页面.
5.3.3创建动态页面.
5.3.4反复传递数据.
5.3.5引入模型.
5.4小结.
第6章助手、窗体和布局.
6.1可信任助手.
6.2故事提交.
6.2.1创建窗体.105
6.2.2保存数据到数据库中.109
6.2.3创建布局.
6.2.4用户反馈和闪存.
6.3测试窗体.
6.3.1测试模型.
6.3.2测试控制器.
6.3.3再次访问日志.
6.4小结.
第7章AJAX与Web 2.0.
7.1生成投票模型.
7.1.1创建模型.
7.1.2创建移植.
7.1.3执行移植.
7.2关系.
7.2.1 has_many于句.
MacSX 10.5(Lepard) .14
更早的版本.15
先决条件.22
在Linux上安装Ruby.23
在Linux上安装RubyGems.24
在Linux上安装Rails.25
2.4.6在Linux上安装MySQL.26
3.6.1数组.52
3.6.2散列表.53
3.6.3字符串.-.-54
3.6.4数字.55
3.6.5符号.56
3.6.6空值.57
3.7运行Ruby文件.57
3.8控制结构.58
3.8.1条件.-59
3.8.2循环.61
3.8.3块.62
3.9小结.64
第4章Rails揭秘.65
4.13种环境.65
4.2数据库配置.66
4.2.1数据库配置文件.-.-.66
4.2.2创建数据库.67
4.3MVC体系结构.69
4.3.1MVC理论.69
4.3.2MVC的Rails方式.70
4.3.3 ActiveRecrd(模型) . 71
4.3.4 ActinPack模块.74
4.4代码生成.77
4.5 Actin Mailer.78
4.6测试和调试.79
4.6.1测试.79
4.6.2调试.80
4.7 MySQL的图形用户接工具-80
4.8小结.82
第5章模型、视图和控制器.84
5.1创建模型.84
5.1.1模型生成器.84
5.1.2使用移植修改模式.87
7.2.3关系框架.
7.3简洁URL与Permalink.
7.3.1实现简洁URL.
8.3.3增加控制器功.172m
8.4过滤器.174
8.4.1 befre过滤器.174
8.4.2 after过滤器.174
8.4.3 arund过滤器.175
8.4.4关于过滤方法.175
8.5用户登录管理.176
8.5.1检索当前用户.176
8.5.2显示当前用户姓名.177
8.5.3允许用户退出.179
8.6添加导航菜单.180
8.7限制应用.182
8.7.1保护表单.182
8.7.2限制访问故事提交.184
8.7.3建立故事和用户的关联.185
8.8测试用户验证.186
8.8.1测试模型.187
8.8.2测试控制器.190
8.9小结.198
第9章高级话题.199
9.1受欢迎故事晋级.199
9.1.1使用计数器缓存.199
9.1.2完成首页.202
9.1.3实现投票箱.205
9.1.4抽象表示逻样.206
9.1.5请求用户登录来投票.209
9.1.6添加故事属性.211
9.2自动生成Permalinks.212
9.2.1模型回调.213
9.2.2添加回调.214
9.3扩展提交窗体.215
9.4添加用户页面.217
.133
140
.158
.162
.163
*.163
.163
.164
.167
.167
.170
.170
7.3.2为故事增加Permalink.135.
7.3.3故事显示.137
7.4AJAX与Rails.139
7.4.1AJAX简介.-139
.7.4.2使用Prttype调用远程脚本.140
7.4.3使用script.a cul us完成视觉
7.4.4“推选”故事.142
7.5 Partial简介.149
7.5.1添加投票历史记录.-150
7.5.2.151
7.5.3投票历史记录样式.151
7.5.4处理投票历史记录.153
7.6测试投票功能.154
7.6.1测试模型.154
7.6.3运行完整测试体系.161
8.1.3 sessin.165
8.1.4Rails中的sessin.165
8.2.2为User类添加关系.168
8.2.3创建User.169
9.5.2测试Stry Cntrller-
9.5.3测试Accunt Cntrller.-228
10.2.1acts_as_tag ga blc插件.233
10.3.2测试控制器.245
11.1.1模板内调试.250
效果.
创建partial.
7.6.2测试控制器.
7.7小结.
第8章安全措施.
8.1 sessin和ckie.
8.1.1单一用户认证.
8.1.2 ckie.
8.2 User模型.
8.2.1生成User模型.
8.3登录功能.
8.3.1创建控制器.
8.3.2创建视图.
目录
9.4.3修改控制器.
9.4.4建立视图.
9.5测试新功能.
9.5.1测试模型.
9.5.4运行完整的测试包.
9.6小结.
第10章Rails插件.
10.1