我需要了解Ruby on Rails的哪些组件?

Rim*_*ian 1 ruby-on-rails

我一直在浏览这个在线导航教程:http://www.railstutorial.org/如果你想了解一下导轨的作用和一些最佳实践方法,我强烈推荐它.

但是现在,当我第一次申请时,我无法隔离需要理解和学习的部分Rails.我的问题是:轨道的哪些组件我需要理解才能胜任.如果你能指出资源在哪里,那也会很有意义.

这是我希望我需要知道的一个粗略的想法:

  • 基本的Ruby
  • 模型视图控制器架构(MVC)
  • 面向对象的编程
  • 插件
  • 像Rake这样的工具
  • 测试驱动框架(rspec?)
  • Rails配置
  • Rails脚本(生成等)
  • 如何部署
  • API
  • 文档在哪里(和良好的资源)
  • 敏捷方法论

这假设我是一名经验丰富的开发人员,并且我已经设置了开发环境并且可以执行基本的hello world应用程序

Pra*_*hra 6

下面是基本的Rails组件(gems - 不依赖和库)

ActiveSupport是一个兼容库,包括不一定特定于Rails的方法.您将看到非Rails库使用的ActiveSupport,因为它包含许多有用的基线功能.ActiveSupport包括Rails如何将单词从单个变为复数,或者将CamelCase更改为snake_case的方法.它还包括比Ruby标准库明显更好的时间和日期支持.

ActiveModel挂钩您的模型的功能,而不是真正与数据库有关的 - 例如,如果您想要给定模型的URL,ActiveModel可以帮助您.它是围绕许多不同ActiveModel实现的瘦包装器,用于告诉Rails如何使用它们.最常见的,ActiveModel实现是ORM(参见下面的ActiveRecord),但它们也可以使用非关系存储,如MongoDB,Redis,Memcached甚至只是本地机器内存.

ActiveRecord是一个对象关系映射器(ORM).这意味着它在Ruby对象和SQL数据库中的表之间进行映射.当您在Rails中查询或写入SQL 19数据库时,可以通过ActiveRecord进行查询.
ActiveRecord还实现了ActiveModel.ActiveRecord支持MySQL和SQLite,以及JDBC,Oracle,PostgreSQL等等.

ActionPack进行路由 - 将传入的URL映射到控制器和Rails中的操作.它还设置您的控制器和视图,并通过其控制器操作然后通过渲染视图来管理请求.对于其中一些,ActionPack使用Rack.模板渲染本身是通过外部gem(如Erubis for .erb模板)或Haml for .haml模板完成的.ActionPack还处理视图缓存等以动作或视图为中心的功能.

ActionMailer用于发送电子邮件,尤其是基于模板的电子邮件.它的工作方式很像你希望Rails的电子邮件,控制器,动作和"视图" - 电子邮件是基于文本的模板,而不是常规的网页模板.

标准的Rails应用程序取决于几个宝石,具体来说:

抽象

的ActionMailer

ActionPack的

activemodel的

ActiveRecord的

的ActiveSupport

AREL

建设者

捆绑

erubis

国际化

邮件

MIME类型

通晓多国语言

机架缓存

机架式

机架测试

轨道

railties

sqlite3的,红宝石

雷神

树冠

tzinfo