您的浏览历史

Rails学习手册

促销活动
  • [本书]参加机械工业出版社华章公司满58元赠书活动

基本信息

内容简介回到顶部↑

大多数Rails书籍会迎合那些从数据结构中寻找信息的程序员,而本书的目标读者是完全面向Web的开发者。
本书的特别之处在于它从外至内(而不是从内至外的从模型和控制器开始)讲解Rails开发,先从应用程序的界面开始。在接触复杂的数据库模型和控制器代码之前,你会学到如何用Rails创建可视的界面。通过本书,你能够从已知的Web设计基础知识入手,再逐渐深入理解Ruby、对象和数据库结构。本书会帮助你:
·通过创建只有一个基础视图和简单控制器的应用程序来呈现Web内容,在此过程中学习Ruby。
·由简入难,创建表单并处理它们的结果。
·通过设置数据库把表单与模型连接起来,再用Rails的Active Record创建映射数据库结构的代码。
·通过Rails脚手架创建以视图为中心的应用程序。
·添加常见的Web应用程序元素,例如会话(session)、cookies以及认证(authentication)。
·创建组合多表数据的应用程序。
·通过Rails和AJax创建一个简单但拥有动态特性的界面。
一旦你读完本书,你便会习惯于Rails Web框架,从此踏上了通往Rails大师之路。

作译者回到顶部↑

本书提供作译者介绍

Simon St.Laurent是O'Reilly的高级编辑和Web开发者。他著有多本技术书籍,其中包括:《Programming Web Services with XML-PRC》(O'Reilly),《XML:A Primer》(Wiley)和《Office 2003 XML》(O'Reilly)。
Edd Dumbill是O'Reilly开源大会的联合主席,同时负责O'Reilly内部会议软件的开发工作。他还是一位XML.com的管理编辑、Debian开发者以及GNOME代码贡献者。
.. << 查看详细

目录回到顶部↑

前言
第1章搭建Ruby on Rails
1.1踏上网端的云:Heroku
1.2尝试Instant Rails
1.3尝试命令行
1.4使用的是什么服务器
1.5温故而知新
第2章让Rails上线
2.1创建视图
2.2那些目录都是做什么用的
2.3增添数据
2.4Hello World是如何运行起来的
2.5让视图免受控制器的侵害
2.6小括号(通常)是可选的
2.7为视图添加逻辑
2.8温故而知新
第3章添加样式
3.1我想要CSS
3.2布局
3.3设置首页

译者序回到顶部↑

很多选择Ruby on Rails框架的开发者都是被它在开发中的“乐趣”所吸引,这种“乐趣”体现在很多方面:容易上手、开发速度快、易于扩展等。而在译者看来,这些都只是表象,其背后的“根”是“Rails之道” (The Rails Way)。如果你不在这条“道”上走走,就很难去体会其背后的精髓。如果你发现,你想做的Rails已经替你想到了,你想偷的懒Rails也为你偷了,那种不谋而合与惺惺相惜,是多么惬意。很多开发者选择Mac作为开发平台的原因也正是如此。所以,在Rails开发者入门的时候,真正要学习的是“Rails之道” (无论你使用的Rails是什么版本),只有这样才能实现所谓的“引而伸之,触类而长之,天下之能事毕矣也”。
本书的英文名为《Learning Rails》,O'Reilly的“Learning系列”是公认的经典入门类技术书籍,本书也没有辜负大家的期望。本书的两位作者是O'Reilly的资深编辑和开发者,他们非常了解现实Rails开发者的状况(这些开发者很多都是从事Web开发的),也知道用什么方式来传授Rails(由外至内,从界面入手,再逐渐深入到控制器和模型),由此延续了此系列的经典。本书仅作Rails入门之用,适合任何有/无编程开发经验的人,唯一的门槛是:你需要了解HTML。
本书由刘申、马家宽、赵祺等共同翻译。在这里首先要感谢华章编辑所做的大量工作。还要感谢FreeWheel的董彬、InfoQ中文站的霍泰稳、熊妍妍、李剑、郑柯、李明等编辑在译者翻译期间给予的大力帮助。最后要特别感谢宋薇对本书所提供的技术支持。由于译者水平有限,难免在译文中有所疏漏,欢迎大家批评指正。
译者
2009年6月

前言回到顶部↑

每一个热爱技术的人似乎都赞同这样的观点:Ruby on Rails以一种神奇的方式创建Web(或Web 2.0)应用程序。Ruby是一种强大而灵活的编程语言,Rails利用这种灵活性建造了一个Web应用程序框架,它为开发者完成了很多工作。一切看起来都很棒。
此外,所有关于Ruby on Rails的书大多会介绍“模型一视图一控制器”,这些书深入应用程序和数据库。从一个经验丰富的Rails开发者角度来说,这很容易理解——框架的强大更多地依赖于如何使开发者方便迅速地创建数据模型,并在此之上构造控制器逻辑,接着,在完成所有复杂的工作之后,在最顶层加上界面视图。这是一种非常好的编程方式,有助于建造更强大的应用程序,而且还可以添加很多高级的AJAX功能。
然而,对于许多学习Ruby on Rails的人来说,如何自如地运用Rails的强大特性是一件异常痛苦的事情。Rails有很多看似神奇的行为,但是单看一条语句又觉得不太正确,而且为了弄清发生了什么,意味着要将Rails做的所有事情分解开。Rails使数据库和对象的操作变得更简便,让开发者不用总想着它们,但是在实现这些简便之前,还有很多东西需要弄明白。
如果你愿意慢慢地学习Ruby on Rails,从一般网页开发者所熟悉的小程序开始,慢慢进入控制器和模型的世界,那么本书将会非常适合你。你可以从已经了解的HTML开始,逐渐深入到Rails众多互相关联的内部组件中。
适合读本书的人
具有Web开发经验的人会知道编写Web应用程序总比想象的要复杂。它需要涉及很多方面,同时还要管理很多人,要让很多浏览者满意。但Ruby on Rails会帮助你出谋划策。你可能是一位设计师,正转向应用程序开发或者想成为一名兼具设计能力的开发者。你也可能是一位程序员,熟悉HTML但缺乏优秀设计所需的美感——本书的其中一位作者正是如此。无论你来自哪里,从事什么工作,只要你足够了解Web,想知道Rails如何使你的工作更加方便,本书都适合你。
阅读本书之前唯一必须要掌握的技术就是HTML,并且需要大体上知道如何编程。作为第一步,你需要将Ruby代码插入HTML中,然后才是直接编写Ruby代码,所以理解HTML是非常关键的。(如果你完全不了解Ruby,可以看看附录A,或者至少遇到问题时,把它作为一个参考手册。)
层叠样式表(Cascading Style Sheets,CSS)会使HTML更好看,但它并不是阅读本书所必需的。同样地,了解JavaScript如何运作也是很有帮助的。具有使用其他编程语言(如PHP、ASP以及ASP.NET)的经验也会有帮助,但也不是必需的。
还需要你习惯对命令行的使用。虽然这些命令并非特别复杂,但至少到目前为止,它们还没有完全包含于图形界面下。即使是Rails的在线集成开发环境(IDE)——Heroku,仍然拥有一些必要的命令行特性。
不适合读本书的人
我们并不是真想将任何人拒绝在这本书之外,但确实会有不少人不适合这本书。前面几章中对“模型一视图一控制器”的介绍可能会使他们直皱眉;那些坚持数据结构是一个出色应用程序的核心的人,需要等相当长的时间才会看到他们希望看到的。如果你认为HTML只是一个程序员不得不忍受的讨厌东西,那么本书也不适合你。其他关于Ruby on Rails的书大部分也是为那些想要从模型开始的人而著的。
同样,那些相信Ruby和Rails是唯一真理的人也不会喜欢读这本书,书中花费了大量的时间来敬告读者他们需要避免的潜在问题和困惑之处。的确,一旦你使用Ruby和Rails工作了一段时间,它们的精妙之处自然会显现。但是达到熟练驾驭Ruby和Rails这一水平的过程却很辛苦,本书试图通过清晰的描述尽可能多地帮你战胜这些挑战。
你会学到什么
创建Ruby on Rails应用程序需要掌握一系列复杂的技巧。但你其实只需知道其中的一部,分,这点要取决于你如何使用Ruby on Rails,以及和什么人一起工作。好了,只要尽可能地学习你需要的内容就好。
首先,你需要安装Ruby on Rails。我们介绍了很多不同的安装方法,重点是从中找出使Ruby和Rails运行的简便方法。
下一步,我们会创建一个很简单的Ruby on Rails应用程序,只有一个基本的视图,然后是一个只做几件事情的控制器。在此基础上,我们将阐述如何利用各种工具创建更复杂的布局,并在这个过程中更多地了解Ruby。
当我们学会了如何显示信息,就可以深入地学习一下控制器以及它能做什么。表单的处理对于大多数网页应用程序都很关键,因此我们要建立几张表单,从简单的到复杂的,并对它们的结果进行处理。
虽然表单不用存储数据就可以做很多有趣的事情,但是能把数据存储起来(而不是一会儿)会变得更有趣。下一步就要建立一个存储信息的数据库,然后告诉你Rails的ActiveRecord是如何轻松地创建能直接映射数据库结构的神奇代码,而无需过多地考虑数据库结构或SQL。
一旦我们使ActiveRecord运行起来,就可以探讨脚手架和它的各种可能性了。Rails的脚手架不仅帮助你快速创建应用程序,而且会教你如何做得更好。Rails 2.0中强调的RESTful让创建出既吸引人又易于维护的应用程序变得很轻松,为了证明这点,我们使用脚手架同样做了一次使任务变得简单的演示,我们希望这样能够帮助你更加易于理解所发生的事情。
理论上,这时即使应对稍复杂一点的数据模型,对你来讲也不是难事了。接下来,我们再看那些需要结合多表数据的应用程序。混用及匹配数据是大多数Web应用程序的核心。

媒体评论回到顶部↑

“学习一个新的Web框架(和语言)是很困难的,但是Simon和Edd为你提供了一站式服务,并为你传授了所有Rails所需要的入门知识。”
——Gregg Pollack,Rails Envy.com

评论交流

共有0人开贴评论  0人参与评论  0人参与打分 查看

0人
 0%
用户平均打分
我要写评论 help如何参与评论和打分
0人
 0%
0人
 0%
0人
 0%
0人
 0%
我要写评论
查看所有评论交流(共0条)