Ruby on Rails 2.1 - 简介


什么是Ruby?

在我们开始使用 Rails 之前,让我们回顾一下 Ruby 的几个要点,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 代码时,它开始执行 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 是您经常听到的与 Ruby on Rails 相关的口号,这意味着您只需对Behave进行一次编码,而无需在两个不同的地方编写类似的代码。这很重要,因为仅在一处修改代码就不太可能犯错误。

导轨的优点

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 为您提供了三种默认环境 - 开发、测试和生产。每个的Behave都略有不同,使您的整个软件开发周期更容易。例如,Rails 为每次测试运行创建一个新的测试数据库副本。

什么是 Rails 2.1.0?

这是 Ruby on Rails 的最新版本,由 Rails 核心团队于 2008 年 5 月 31 日星期六发布。

这个版本是对 RoR 2.0 的进一步改进,这又是一个非常棒的版本,绝对充满了出色的新功能、大量修复以及对其之前版本 RoR 1.2.x 的大量改进。

本教程将向您介绍最新 RoR 版本 2.1.0 中提供的所有重要功能。

学完本教程后,您应该能够使用最好的 Web 2.0 技术之一(称为 Ruby on Rails v2.1.0)来构建您的网站。