- 学习 Ruby on Rails
- Rails 2.1 首页
- Rails 2.1 简介
- Rails 2.1 安装
- Rails 2.1 框架
- Rails 2.1 目录结构
- Rails 2.1 示例
- Rails 2.1 数据库设置
- Rails 2.1 Active Records
- Rails 2.1 迁移
- Rails 2.1 控制器
- Rails 2.1 视图
- Rails 2.1 布局
- Rails 2.1 脚手架
- Rails 2.1 和 AJAX
- Rails 2.1 上传文件
- Rails 2.1 发送邮件
- 高级 Ruby on Rails 2.1
- Rails 2.1 RMagick 指南
- Rails 2.1 基本 HTTP 认证
- Rails 2.1 错误处理
- Rails 2.1 路由系统
- Rails 2.1 单元测试
- 高级 Ruby on Rails 2.1
- Rails 2.1 提示与技巧
- 快速参考指南
- 快速参考指南
- Ruby on Rails 2.1 有用资源
- Ruby on Rails 2.1 - 资源
- Ruby on Rails 2.1 - 讨论
Ruby on Rails 2.1 - 简介
什么是 Ruby?
在我们开始使用 Rails 之前,让我们回顾一下 Ruby 的一些要点,它是 Rails 的基础。
Ruby 是以下元素的成功组合:
- Smalltalk 的概念优雅性,
- Python 的易用性和学习性,以及
- Perl 的实用性。
Ruby 是
- 一种高级编程语言。
- 像 Perl、Python、Tcl/TK 一样被解释执行。
- 像 Smalltalk、Eiffel、Ada、Java 一样面向对象。
为什么选择 Ruby?
Ruby 起源于日本,现在在美国和欧洲也越来越受欢迎。以下因素促成了它的流行:
- 易于学习
- 开源(非常宽松的许可证)
- 丰富的库
- 非常容易扩展
- 真正面向对象
- 代码量少,错误少
- 有帮助的社区
尽管我们有很多理由使用 Ruby,但也有一些缺点需要在实施 Ruby 之前考虑:
性能问题 - 虽然它可以与 Perl 和 Python 相媲美,但它仍然是一种解释型语言,我们无法将其与 C 或 C++ 等高级编程语言相比较。
线程模型 - Ruby 不使用原生线程。Ruby 线程是在虚拟机中模拟的,而不是作为原生操作系统线程运行。
Ruby 代码示例
这是一个打印“Hello Ruby”的 Ruby 代码示例。
#!/usr/bin/ruby -w # The Hello Class class Hello # Define constructor for the class def initialize( name ) @name = name.capitalize end # Define a ruby method def salute puts "Hello #{@name}!" end end # Create a new object for Hello class obj = Hello.new("Ruby") # Call ruby method obj.salute
这将产生以下结果:
Hello Ruby
要全面了解Ruby,请参阅我们的Ruby 教程
嵌入式 Ruby
Ruby 提供了一个名为 ERb(Embedded Ruby)的程序,由Seki Masatoshi编写。ERb 允许您将 Ruby 代码放入 HTML 文件中。ERb 一字一句地读取,然后在遇到 Ruby 代码时,开始执行该代码。
您只需要了解两件事即可准备 ERb 文档:
如果要执行一些 Ruby 代码,请将其括在<%和%>之间。
如果希望代码执行的结果作为输出的一部分打印出来,请将其括在<%=和%>之间。
这是一个例子。将代码保存在 erbdemo.erb 文件中。请注意,Ruby 文件的扩展名为.rb,而嵌入式 Ruby 文件的扩展名为.erb。
<% page_title = "Demonstration of ERb" %> <% salutation = "Dear programmer," %> <html> <head> <title><%= page_title %></title> </head> <body> <p><%= salutation %></p> <p>This is an example of how ERb fills out a template.</p> </body> </html>
现在,使用命令行实用程序 erb 运行程序。
c:\ruby\>erb erbdemo.erb
这将产生以下结果:
<html> <head> <title>Demonstration of ERb</title> </head> <body> <p>Dear programmer,</p> <p>This is an example of how ERb fills out a template.</p> </body> </html>
什么是 Rails?
一个极具生产力的 Web 应用框架。
使用 Rails 开发 Web 应用的速度至少可以比使用典型的 Java 框架快十倍。
一个用于开发数据库支持的 Web 应用的开源 Ruby 框架。
您的代码和数据库模式就是配置!
无需编译阶段。
全栈框架
包含使用模型-视图-控制器 (MVC) 模式创建数据库驱动 Web 应用所需的一切。
作为全栈框架意味着所有层都构建为以更少的代码无缝协作。
需要的代码行数少于其他框架。
约定优于配置
Rails 摒弃配置文件,转而采用约定、反射和动态运行时扩展。
您的应用程序代码和正在运行的数据库已经包含 Rails 需要知道的一切!
不要重复自己 (DRY)
DRY 是您经常听到与 Ruby on Rails 相关的口号,这意味着您只需要编写一次行为,并且永远不必在两个不同的地方编写类似的代码。这很重要,因为您只需在一个地方修改代码,就减少了出错的可能性。
Rails 的优势
Rails 拥有众多功能,使您能够提高生产力,其中许多功能都建立在彼此之上。
元编程 - 其他框架使用从头开始的广泛代码生成。元编程技术使用程序来编写程序。Ruby 是最适合元编程的语言之一,Rails 很好地利用了这种能力。Rails 也使用代码生成,但更多地依赖元编程来完成繁重的工作。
Active Record - Rails 引入了 Active Record 框架,该框架将对象保存到数据库中。Rails 版本的 Active Record 发现数据库模式中的列,并使用元编程自动将它们附加到您的领域对象。
约定优于配置 - 大多数 .NET 或 Java 的 Web 开发框架都迫使您编写大量的配置代码。如果您遵循建议的命名约定,Rails 不需要太多配置。
脚手架 - 您通常在开发的早期阶段创建临时代码,以帮助快速启动应用程序并了解主要组件如何协同工作。Rails 自动创建您需要的大部分脚手架。
核心 Ajax - Ajax 是一种已成为标准的技术,用于为网站提供交互性,而不会造成干扰。Ruby on Rails 对 Ajax 技术有很好的支持,并且它是核心库的一部分。因此,当您安装 RoR 时,Ajax 支持也会同时提供给您。
内置测试 - Rails 创建简单的自动化测试,然后您可以扩展这些测试。Rails 还提供称为 harness 和 fixture 的支持代码,使测试用例更容易编写和运行。然后,Ruby 可以使用 rake 实用程序执行所有自动化测试。
三个环境 - Rails 为您提供了三个默认环境 - 开发、测试和生产。每个环境的行为略有不同,使您的整个软件开发生命周期变得更加轻松。例如,Rails 为每次测试运行创建测试数据库的新副本。
什么是 Rails 2.1.0?
这是 Ruby on Rails 的最新版本,由 Rails 核心团队于 2008 年 5 月 31 日星期六发布。
此版本是对 RoR 2.0 的进一步改进,RoR 2.0 本身就是一个非常棒的版本,包含了大量很棒的新功能、大量的修复以及比其之前的版本 RoR 1.2.x 更加出色的完善。
本教程将引导您了解最新 RoR 版本 2.1.0 中的所有重要功能。
在本教程之后,您应该能够使用称为 Ruby on Rails v2.1.0 的最佳 Web 2.0 技术之一来构建您的网站。