我想深入了解Ruby On Rails,以便了解其背后的魔力。
为此,我想逐个检查Rails的所有主要组件(gems),例如: ActionPack
,ActiveResource
等。为此,我希望有一个主要组件的列表和简短的解释(我将在学习宝石时逐步添加更多解释)。
随时可以使用补充细节编辑我的答案。
答案 0 :(得分: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)。这意味着它在Ruby对象和SQL数据库中的表之间进行映射。当您在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)连接业务对象和Representational State Transfer(REST)Web服务。它实现了REST Web服务的对象关系映射,以在客户端(ActiveResource)和RESTful服务(由ActionController :: Resources中的Simply RESTful路由提供)之间提供透明的代理功能。