我一直在浏览这个在线导航教程:http://www.railstutorial.org/如果你想了解一下导轨的作用和一些最佳实践方法,我强烈推荐它.
但是现在,当我第一次申请时,我无法隔离需要理解和学习的部分Rails.我的问题是:轨道的哪些组件我需要理解才能胜任.如果你能指出资源在哪里,那也会很有意义.
这是我希望我需要知道的一个粗略的想法:
基本的Ruby
模型视图控制器架构(MVC)
面向对象的编程
插件
像Rake这样的工具
测试驱动框架(rspec?)
Rails配置
Rails脚本(生成等)
如何部署
API
文档在哪里(和良好的资源)
敏捷方法论
这假设我是一名经验丰富的开发人员,并且我已经设置了开发环境并且可以执行基本的hello world应用程序
下面是基本的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