(周末偷懒了。。。这周开始第三章。。静态页面,加油~)
第三章 Mostly static pages
在这一章中我们将开始开发一个例子程序,这个程序就是本书中接下来的所使用的例子。
尽管这个程序最终将会实现用户,微博信息,登录登出验证框架等,但是我们就从看起来蛮简单的开始——创建静态页面。尽管它很简单,但是创建静态页面是一项非常有意义和启发性的练习,对于我们新程序来说是一个完美的开端。
Rails虽然是用来设计数据库支持的动态网站,但是它也擅长用原生的HTML文件来产生静态网页。实际上用Rails产生静态网页会有明显的优势:我们可以非常容易的添加一小部分的动态内容。在这一章中我们也将学习如何添加这些内容。继续下去我们就将会第一次亲密接触自动测试,它会让我们对我们写过的代码更有自信。此外,有一个好的测试工具会是我们重构代码的时候更有信心——只改结构和形式没有改变它应有的功能。
如第二章所说,我们从新建一个Rails的应用程序开始,这次叫它:sample_app:
$ cd ~/rails_projects
$ rails new sample_app -T
$ cd sample_app
在这里的 -T 参数是告诉Rails不要生成使用Test::Unit工具测试test文件夹。这部是我门不要测试,正好相反,在第3.2节中我们将使用Rspec测试框架来代替Test::Unit。
回到我们的项目,我们接下来要做的是使用文本编辑器去修改Gemfile文件。我们需要添加一些我们程序需要的gem包,和前一章中所声明的,sqlite3-ruby的gem的版本是1.2.5,这和以前一样,是我们在本地开发所需要的gem(重申:我的系统需要1.2.5版本,如果你无法使用它,你可以使用1.3.1版本),另一方面,对于这个示例次序来说,我们还需要2个以前没用的gem:Rspec和 Rails的rspec库,
示例代码如代码3.1(提示:如果你想要提前把我们这个程序的所有gem都安装,我觉得你应该参考代码10.42):
代码3.1:示例程序的Gemfile
source 'http://rubygems.org'
gem 'rails', '3.0.3'
gem 'sqlite3-ruby', '1.3.2', :require => 'sqlite3'
group :development do
gem 'rspec-rails', '2.3.0'
end
group :test do
gem 'rspec', '2.3.0'
gem 'webrat', '0.7.1'
end
上面代码的开发模式里包含了rspec-rails,所以我们可以使用Rspec-specific生成器,在测试模式下包含了rspec,所以我们可以运行那些测试。(我们也包含Webrat测试工具,以前的版本它会被当成一个依赖包自动的添加,但是现在我们需要手动的添加它,它是目前用来生成页面测试的工具,所以我们需要它)。然后我们用Bundle install来安装这些gem。
$ bundle install
为了让Rails知道我们使用Rspec代替Test::Unit,我们需要安装一些Rspec需要的文件。我们可以通过 rails generate:
$ rails generate rspec:install
到这里,我要做的只剩下初始化Git库了:
$ git init
$ git add .
$ git commit -m "Initial commit"
和第一程序一样,我还是建议更新“README”文件(位于程序的根目录。)。代码3.2的描述或许对你有些帮助。
代码 3.2 示例程序的READER文件.
# Ruby on Rails Tutorial: sample application
This is the sample application for
[*Ruby on Rails Tutorial: Learn Rails by Example*](http://railstutorial.org/)
by [Michael Hartl](http://michaelhartl.com/).
接下来,我们给他添上markdown的后缀名,然后提交它:
$ git mv README README.markdown
$ git commit -a -m "Improved the README"
图3.1: 创建示例程序的GitHub库
为了将我们书中的程序放在github进行控制,增加一个新库是一个不错的主意。
$ git remote add origin git@github.com:<username>/sample_app.git
$ git push origin master
(提示:到这一步 http://github.com/railstutorial/sample_app 库中的代码是示例程序所有的代码,欢迎咨询参考,但是有2点要注意:1,自己输入代码比使用现成的代码会学到更多的东西;2,书中提到Github库的代码有的会有差别,这主要是由于一方面这个库合并了本书中的练习和视频教程中的练习。)
当然,我也可以在现在就部署到Heroku,
$ heroku create
$ git push heroku master
(如果错误可以参考代码1.8试着修复。) 在接下来的教程中,我建议你可以定期的push和发布程序;
$ git push
$ git push heroku
这样我们就可以开发示例程序了~
3.1 静态页面
Rails有2个主要的方法产生静态网页。第一,Rails可以处理由原生的HTML文件组成的真正静态页面(我也不明白什么意思,看下去吧)。第二,Rails允许我们定义rails可以渲染的含有原生HTML的视图,这样服务器可以将它发送到浏览器。
回忆一下第1.2.3(图1.2)节中所讲Rails的结构对我们把握中心是很有帮助的。这一节我们主要的工作目录是app/controllers 和 app/views,在3.2节中我们会接触到新的目录(我们甚至可以添加自己的目录.);
(==========================分割线,慢慢翻译,也是我学习的过程==明天继续===========================)
- 大小: 166 KB
分享到:
相关推荐
“The author is clearly an expert at the Ruby language and the Rails framework, but more than that, he is a working software engineer who introduces best practices throughout the text.” —Greg ...
《Ruby on Rails Tutorial》中文版(原书第2版,涵盖 Rails 4) Ruby 是一门很美的计算机语言,其设计原则就是“让编程人员快乐”。David Heinemeier Hansson 就是看重了这一点,才在开发 Rails 框架时选择了 Ruby...
本书教您如何使用Ruby on Rails开发和部署真正的,具有工业实力的Web应用程序,Ruby on Rails是为诸如Twitter,Hulu,GitHub和Yellow Pages等顶级网站提供支持的开源Web框架。
Ruby on Rails 4 Tutorial 是一本深受开发者欢迎的书籍,它详细介绍了如何使用Ruby on Rails这一强大的Web开发框架。Ruby on Rails(简称Rails)是基于Ruby语言的开源框架,以其“约定优于配置”(Convention over ...
《Ruby on Rails 3 Tutorial》是一本专门为初学者设计的指南,旨在帮助读者快速掌握Ruby on Rails这一强大的Web开发框架。Ruby on Rails(简称Rails)是基于Ruby语言的一个开源框架,它采用MVC(Model-View-...
【Ruby on Rails Tutorial 原版】是由Michael Hartl创作的,特别适合初学者的一份指导教程。这个教程全面介绍了Ruby on Rails(简称RoR),它是一个由David Heinemeier Hansson用Ruby语言开发的高效Web应用框架。RoR...
- **《Ruby on Rails 3 教程》**:由Michael Hartl编写的一本经典教材,被广泛认为是学习Rails的最佳资源之一。 - **教学方法**: - **示例驱动**:通过具体的项目示例来讲解Rails的各种功能。 - **循序渐进**:从...
### Ruby on Rails 101:深入理解与实践 #### 引言 《Ruby on Rails 101》是一本介绍Ruby on Rails(简称RoR或ROR)的基础书籍,旨在为初学者提供一个全面而深入的学习框架。本书由Peter Marklund编写,包含了五天...
本书《Ruby on Rails 教程 —— 使用 Rails 学习 Web 开发》第三版是由 Michael Hartl 编写的一本全面介绍 Ruby on Rails 的教程。该书面向希望学习如何使用 Ruby on Rails 进行 Web 应用开发的初学者和中级开发者。...
使用Ruby on Rails最新版进行开发,开发者不仅可以享受到高效的开发流程,还能通过强大的社区支持和丰富的第三方库(如Gem)扩展其功能。例如,Devise用于用户认证,CanCanCan用于授权管理,Paperclip或Carrierwave...
这本书讲解如何使用 Ruby on Rails框架开发应用,以及如何把应用部署到生成环境。本书使用Rail默认的开发工具栈开发了一个完整的社交应用(类似...这本书是《Ruby on Rails Tutorial, Third Edition》的简体中文版。
《Ruby on Rails Tutorial: Learn Rails by Example》是Rails学习者们常常参考的一本书,由Michael Hartl撰写。这本书通过实际的示例项目“sample_app”引导读者深入理解Rails框架的各个方面。现在,我们来详细探讨...
《Ruby on Rails 3.2 Tutorial》是Michael Hartl撰写的一本经典教程,旨在通过实践教学的方式帮助初学者掌握Rails框架。Rails是一个基于Ruby语言的开源Web应用框架,遵循MVC(模型-视图-控制器)架构模式,以其DRY...
Ruby on Rails是一款基于Ruby语言的开源Web开发框架,它遵循MVC(模型-视图-控制器)架构模式,简化了Web应用的开发流程。在Linux环境下安装Ruby on Rails需要一系列的依赖包和步骤,本资源包提供了所需的所有组件,...
本教程聚焦于 "Ruby on Rails Tutorial 3" 的源码,这个版本对应于 Ruby 2.2.1 和 Rails 4.2.6 的环境。在这个环境中,开发人员可以学习如何利用 Rails 的强大功能来开发实际的应用。 首先,Ruby 2.2.1 是一个稳定...
Ruby on Rails 是一个流行的 web 开发框架,以其高效和简洁的代码著称。在 Ruby on Rails 中,页面缓存是一种优化性能的技术,尤其适用于那些内容相对静态或者对用户个性化要求不高的网页。页面缓存的工作原理是将...