- Ruby on Rails 教程
- Ruby on Rails - 首页
- Ruby on Rails - 简介
- Ruby on Rails - 安装
- Ruby on Rails - 框架
- Ruby on Rails - 目录结构
- Ruby on Rails - 示例
- Ruby on Rails - 数据库设置
- Ruby on Rails - Active Records
- Ruby on Rails - 数据迁移
- Ruby on Rails - 控制器
- Ruby on Rails - 路由
- Ruby on Rails - 视图
- Ruby on Rails - 布局
- Ruby on Rails - 脚手架
- Ruby on Rails - AJAX
- Ruby on Rails - 文件上传
- Ruby on Rails - 发送邮件
- Ruby on Rails 资源
- Ruby on Rails - 参考指南
- Ruby on Rails - 快速指南
- Ruby on Rails - 资源
- Ruby on Rails - 讨论
- Ruby 教程
- Ruby 教程
Ruby on Rails - 简介
什么是 Ruby?
在学习 Rails 之前,让我们回顾一下 Ruby 的几个要点,它是 Rails 的基础。
Ruby 是以下几种编程语言的成功结合:
- Smalltalk 的概念优雅性,
- Python 的易用性和易学性,以及
- Perl 的实用性。
Ruby 是:
- 一种高级编程语言。
- 像 Perl、Python、Tcl/TK 一样是解释型语言。
- 像 Smalltalk、Eiffel、Ada、Java 一样是面向对象的。
为什么选择 Ruby?
Ruby 起源于日本,现在在美国和欧洲也越来越受欢迎。以下因素促成了它的流行:
- 易于学习
- 开源(非常宽松的许可证)
- 丰富的库
- 非常容易扩展
- 真正面向对象
- 代码更少,bug 更少
- 有帮助的社区
尽管我们有很多理由使用 Ruby,但也有一些缺点需要在实施 Ruby 之前考虑:
性能问题 - 虽然它可以与 Perl 和 Python 相媲美,但它仍然是一种解释型语言,我们不能将其与 C 或 C++ 等高级编程语言相比较。
线程模型 - Ruby 不使用原生线程。Ruby 线程是在虚拟机中模拟的,而不是作为原生操作系统线程运行。
Ruby 代码示例
这是一个打印“Hello Ruby”的 Ruby 代码示例
# The Hello Class class Hello def initialize( name ) @name = name.capitalize end def salute puts "Hello #{@name}!" end end # Create a new object h = Hello.new("Ruby") # Output "Hello Ruby!" h.salute
输出 - 这将产生以下结果:
Hello Ruby!
嵌入式 Ruby
Ruby 提供了一个名为 ERB(嵌入式 Ruby)的程序,由Seki Masatoshi编写。ERB 允许您将 Ruby 代码放入 HTML 文件中。ERB逐字读取,然后在遇到嵌入在文档中的 Ruby 代码时,开始执行 Ruby 代码。
您只需要知道两件事就可以准备一个 ERB 文档:
如果要执行一些 Ruby 代码,请将其括在<%和%>之间。
如果要将代码执行的结果作为输出的一部分打印出来,请将其括在<%=和%>之间。
这是一个例子。将代码保存在 erbdemo.rb 文件中。请注意,Ruby 文件的扩展名将为.rb:
<% 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运行程序。
tp> erb erbdemo.rb
这将产生以下结果:
<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 应用程序框架。
由 David Heinemeier Hansson 用 Ruby 编写。
使用 Rails 开发 Web 应用程序的速度至少比使用典型的 Java 框架快十倍。
一个用于开发基于数据库的 Web 应用程序的开源 Ruby 框架。
使用数据库模式配置您的代码。
不需要编译阶段。
全栈框架
包含创建数据库驱动 Web 应用程序所需的一切,使用模型-视图-控制器模式。
作为全栈框架意味着所有层都构建在一起,以更少的代码无缝协同工作。
比其他框架需要更少的代码行。
约定优于配置
Rails 摒弃配置文件,转而采用约定、反射和动态运行时扩展。
您的应用程序代码和正在运行的数据库已经包含 Rails 需要知道的一切!
Rails 的优势
Rails 充满了使您更高效的功能,其中许多功能相互构建。
元编程
在其他框架使用从头开始的广泛代码生成的地方,Rail 框架使用元编程技术来编写程序。Ruby 是最适合元编程的语言之一,Rails很好地利用了这种能力。Rails 也使用代码生成,但更多地依赖元编程来完成繁重的工作。
Active Record
Rails 引入了 Active Record 框架,它将对象保存到数据库中。Rails 版本的 Active Record 会发现数据库模式中的列,并使用元编程自动将它们附加到您的域对象。
约定优于配置
大多数 .NET 或 Java 的 Web 开发框架都要求您编写几页配置代码。如果您遵循建议的命名约定,Rails 不需要太多配置。
脚手架
您经常在开发的早期阶段创建临时代码,以帮助快速启动应用程序并查看主要组件如何协同工作。Rails 会自动创建您需要的大部分脚手架。
内置测试
Rails 创建简单的自动化测试,然后您可以对其进行扩展。Rails 还提供名为 harness 和 fixtures 的支持代码,使测试用例更易于编写和运行。然后,Ruby 可以使用 rake 实用程序执行所有自动化测试。
三个环境
Rails 为您提供了三个默认环境:开发、测试和生产。每个环境的行为略有不同,使您的整个软件开发生命周期更容易。例如,Rails 为每次测试运行创建一个新的 Test 数据库副本。