2014-01-21 42 views
1

我很想深入了解Ruby On Rails,以便了解它背后的魔力。Ruby On Rails:它包含哪些主要组件(宝石)?

为此,我想逐个检查Rails的所有主要组件(例如gems),例如, ActionPack,ActiveResource等。为此,我很想拥有一个带有简短解释的主要组件的列表(我将在学习宝石时一步一步地添加更多解释)。

随意编辑我的答案与补充细节。

回答

2

的基本方式导轨组件与他们的短详细描述::

Active Support是包括不一定具体到Rails的方法兼容库。您会看到非Rails库使用的ActiveSupport,因为它包含了很多有用的基线功能。 ActiveSupport包含诸如Rails如何将单词改为单复数或将CamelCase改为snake_case的方法。它还包含比Ruby标准库更好的时间和日期支持。

Active Model钩成是不是真的对数据库中的模型的功能 - 例如,如果你想为一个给定的模型的URL,帮助加载ActiveModel你那里。这是围绕许多不同的ActiveModel实现的简单包装,以告诉Rails如何使用它们。最常见的是,ActiveModel实现是ORM(请参阅下面的ActiveRecord),但它们也可以使用非关系型存储,如MongoDB,Redis,Memcached甚至只是本地机器内存。

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

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

Action Mailer用于发送电子邮件,尤其是基于模板的电子邮件。它的工作原理与Rails电子邮件的控制器,操作和“视图”很相似 - 电子邮件是基于文本的模板,而不是常规的网页模板。

Action View是处理视图模板查找和渲染的框架,并提供协助,当构建HTML表单,Atom提要多视图助手。 Action View处理的模板格式是ERB(嵌入式Ruby,通常用于内嵌HTML中的短Ruby片段)和XML Builder。

Action Resource(ARes)连接业务对象和具象状态传输(REST)Web服务。它为REST Web服务实现对象关系映射,以在客户端(ActiveResource)和RESTful服务(由ActionController :: Resources中的简单RESTful路由提供)之间提供透明的代理功能。