rails3内置gem包:
$> abstract (1.0.0) 提供一个库可以在ruby中定义抽象方法。我们知道,ruby中是不提供抽象方法的,引入这个库之后,可以简单的创建抽象方法,有两种使用方式: $> require 'abstract' # 简写方式 class Foo abstract_method 'arg1, arg2=""', :method1, :method2, :method3 end # 标准方式 class Bar def method1(arg1, arg2="") not_implemented end def method2(arg1, arg2="") not_implemented end end $> actionmailer (3.0.3) Rails的email组件,可以以控制器/视图的方式来撰写、发送、接收和测试电子邮件,支持群发和附件 $> actionpack (3.0.3) Rails的Web应用组件,包含三部分:Action Controller, Action View 和 Action Dispatch。是整个MVC的VC部分,可以使用在Rack兼容的服务器上。 $> activemodel (3.0.3) 这个组件用于提供一个定义好的接口,用于建立ORM(activerecord)与actionpack之间的关系映射,也就是MVC的M部分,它支持:attributes, callbacks, validations, observers, serialization, internationalization, and testing等。也就是说它把Rails2中的activerecord各项功能抽象出来做成了接口,如果有需要,你只要实现这些接口就可以建立自己的ORM来取代activerecord。 $> activerecord (3.0.3) Rails的数据库操作组件,建立一个持久的领域模型用于数据库表和ruby类之间的映射。它用于提供基本的CRUD功能,强大的查找功能,和模型之间的关联,数据校验、迁移和测试等。 $> activeresource (3.0.3) Rails的REST实现。包装你的RESTful风格的web应用,用于实现基于web的资源和本地CURD对象之间的映射 $> activesupport (3.0.3) 是从rails提取出来的一个支持工具包库和Ruby的核心扩展。支持多字节字串,国际化,时区和测试。 $> arel (2.0.4) 1)简单的生成复杂的SQL查询;2)适用于各种RDBMS系统。可以把它当成是框架中的框架,就是说可以用它创建自己的ORM系统,只需要把注意力集中在创新和建模,而不是数据库兼容性和查询的生成。通过大量通俗易懂的关系操作符,几乎可以覆盖80%的数据库操作。下面举几个例子: Ruby代码 收藏代码 posts = Arel::Table.new(:posts) posts.project(Arel.sql('*')).to_sql # => SELECT * FROM `posts` posts.project(posts[:title]).to_sql # => SELECT `posts`.`title` FROM `posts` posts.where(posts[:title].eq('test')).to_sql # => SELECT FROM `posts` WHERE `posts`.`title` = 'test' posts.take(5).skip(4).to_sql # => SELECT FROM `posts` LIMIT 5 OFFSET 4 $> builder (2.1.2) 提供了一些builder对象,用于简单的创建结构化数据。现在支持XML标记和XML事件 $> bundler (1.0.7) 在一个应用程序的整个生命周期中都可以用它来管理包依赖问题,可以跨多台机器,系统性重复性管理。 $> erubis (2.6.6) Erubis 是一个快速、安全和具备高可扩展性的eRuby 的实现,主要特征如下: * Very fast, almost three times faster than ERB and even 10% faster than eruby * Multi-language support (Ruby/PHP/C/Java/Scheme/Perl/Javascript) * Auto escaping support * Auto trimming spaces around '<% %>' * Embedded pattern changeable (default '<% %>') * Enable to handle Processing Instructions (PI) as embedded pattern (ex. '<?rb ... ?>') * Context object available and easy to combine eRuby template with YAML datafile * Print statement available * Easy to extend and customize in subclass * Ruby on Rails support $> i18n (0.4.2) Ruby的国际化支持 $> mail (2.2.10) Ruby的mail工具,mail的实现都在这里。 $> mime-types (1.16) 这个在Rails2中也有,Rails3中把它独立出来单独成包了。它用于以MIME内容类型的方式来识别文件类型,是基于文件扩展名的。 $> polyglot (0.3.1) 通过它可以注册任意文件扩展名,并在ruby文件中require引入。treetop组件需要用到。 Ruby代码 收藏代码 #== EXAMPLE: #In file rubyglot.rb, define and register a file type handler: require 'polyglot' class RubyglotLoader def self.load(filename, options = nil, &block) File.open(filename) {|file| # Load the contents of file as Ruby code: # Implement your parser here instead! Kernel.eval(file.read) } end end Polyglot.register("rgl", RubyglotLoader) # In file test.rb: require 'rubyglot' # Create my file type handler require 'hello' # Can add extra options or even a block here puts "Ready to go" Hello.new # In file hello.rgl (this simple example uses Ruby code): puts "Initializing" class Hello def initialize() puts "Hello, world\n" end end # Run: $ ruby test.rb Initializing Ready to go Hello, world $ $> rack-mount (0.6.13) Stackable dynamic tree based Rack router $> rack-test (0.5.6) Rack::Test是用于测试Rack应用的一个简单的小API。 $> rails (3.0.3) 我不说了,你知道的! $> railties (3.0.3) Rails的核心中的核心:应用程序引导、插件、生成器和计划任务 $> rake (0.8.7) 类似于Make,Ruby里的程序执行器,用标准的Ruby语法来指定计划任务和依赖包 $> thor (0.14.6) 一个简单高效的工具,用于创建自文档化的命令行,类似于rake,语法也于rake很像 $> treetop (1.4.9) 一个Ruby写的解析器,用于解析领域特定语言(Domain Specific Language,DSL),mail组件需要用到 $> tzinfo (0.3.23) 用于不同时区的时间转换
相关推荐
"rails-2.1.0-gem"是Rails框架的一个特定版本,即2.1.0的gem包,用于在Ruby环境中安装和管理Rails框架。 Rails的核心理念是“约定优于配置”(Convention over Configuration),这意味着开发者可以遵循一套预设的...
3. **SQLITE3数据库**:尽管Rails支持多种数据库系统,但对于初学者而言,内置支持的SQLite3是一个很好的选择。 **创建第一个应用**的过程非常直观,只需简单几步即可完成: 1. 使用`rails new blog`命令创建一个...
8. **测试**:Rails内置了测试框架Test::Unit和Functional测试,用于编写和运行应用的测试用例。 在Rails 2.2.3时代,社区已经发展出很多插件和 gems(Ruby的扩展库),如Devise用于身份验证,CanCanCan进行授权...
10. **ActiveRecord**:Rails内置的ORM(对象关系映射)库,它简化了数据库操作。模型类对应数据库表,类的方法对应SQL查询。 11. **TDD与BDD**:Rails鼓励使用测试驱动开发(TDD)和行为驱动开发(BDD),如RSpec和...
3. **配置pkg**:在`Gemfile`顶部添加`gem 'pkg'`,然后运行`bundle install`更新Gemfile.lock。 4. **创建打包脚本**:编写一个Ruby脚本,使用`pkg`命令来构建可执行文件。例如: ```ruby require 'pkg' Pkg::...
- **模板系统**:熟悉Rails内置的ERB模板引擎及其他第三方模板引擎,如HAML、SLIM等,提高开发效率。 #### 四、高级主题 - **插件与Gem管理**:了解如何使用插件(Gem)来扩展Rails应用的功能,以及如何管理和部署...
6. **rails-2.1.0.gem**:这是Rails框架的主要发行包,包含了所有其他组件的依赖和核心功能。Rails 2.1.0引入了许多新特性,例如活动记录(ActiveRecord)的自动保存关联、部分渲染以及自定义验证选项等。 7. **...
4. 插件和Gem:Rails 2.3.x 支持 Gem 管理系统,允许开发者通过安装和管理第三方 Gem 来扩展 Rails 功能。插件是 Rails 社区共享代码的一种方式,可以快速添加特定功能。 5. 测试框架:Rails 内置了测试支持,包括 ...
Rails通过内置的asset pipeline(资产管道)支持了前端资源的管理,包括CSS、JavaScript和图像文件。 当我们将jQuery UI引入Rails项目时,通常会使用`jquery-ui-rails` gem,这是一个将jQuery UI与Rails集成的便捷...
2. **模块化设计**:Rails 3将核心功能拆分为多个可选的gem,这样开发者可以根据项目需求选择性地安装必要的组件。 3. **RESTful架构支持**:Rails 3继承了对RESTful架构的支持,使Web应用的设计更加规范和一致。 4....
框架提供了丰富的内置功能,如路由、ORM(对象关系映射)、数据库迁移和强大的脚手架工具,帮助快速开发应用程序。 2. **MVC架构**: MVC模式将应用程序分为三个主要部分:模型(Model)处理数据逻辑,视图(View...
- **Rails安装**:安装Rails之前需要先安装Ruby和Gem包管理器。 - **文本编辑器与IDE**:推荐使用Sublime Text、Atom或Visual Studio Code等现代编辑器/IDE进行开发。 - **版本控制系统**:使用Git进行版本控制,...
- **ActiveRecord**:Rails内置的ORM(对象关系映射)工具,负责与数据库的交互。 - **Routes**:Rails的路由系统将URL映射到控制器的行动上,定义了应用程序的导航路径。 - **Scaffolding**:快速生成基本的CRUD...
Rails的另一大优势是其丰富的插件和gem库。在Gemfile中添加所需的gem,然后运行`bundle install`命令安装。Aptana的自动完成功能可以帮助你在编写gem相关的代码时快速找到正确的API。 总的来说,Aptana Studio结合...
7. **Testing**:Rails强调测试驱动开发,内置了RSpec、Minitest等测试框架,支持单元测试、集成测试和功能测试,确保代码质量。 8. **Asset Pipeline**:Rails的资产管道处理JavaScript、CSS和图像等静态资源,...
Rails的Gem包管理系统允许开发者方便地管理和使用第三方库,进一步加速开发进程。 相比于Java框架普遍存在的XML配置,Rails更倾向于使用YAML或纯Ruby代码进行配置,这使得配置文件更加简洁直观,符合Ruby语言的哲学...
### 敏捷Web开发与Rails 3:关键知识点解析 #### 一、Rails版本与兼容性 本书《敏捷Web开发与Rails》第三版主要针对Rails 2进行了编写。在本书印刷时,可用的Rails Gem版本为2.1,并且书中所包含的代码已经过该...
使用Ruby on Rails最新版进行开发,开发者不仅可以享受到高效的开发流程,还能通过强大的社区支持和丰富的第三方库(如Gem)扩展其功能。例如,Devise用于用户认证,CanCanCan用于授权管理,Paperclip或Carrierwave...
3. **Rails生成器**: - `rails new`:创建新Rails项目。 - `generate controller`:创建控制器,生成相关的动作和视图文件。 - `generate model`:创建数据库模型,自动生成迁移文件。 4. **数据库和...