Rails部分背后的命名规则是什么?

jan*_*o-m 16 ruby-on-rails

一些Rails的部分以"Active"开头:

  • ActiveRecord的
  • 加载ActiveModel
  • 的ActiveSupport

一些Rails的部分以"Action"开头:

  • ActionPack的
  • 的ActionView
  • 的ActionMailer

这是为什么?为什么他们都没有相同的前缀?在这种情况下,"主动"和"行动"意味着什么?

DHH现在正在建立"ActiveJob",他怎么知道它不应该是"ActionJob"?

Kir*_*rat 19

我看待它的方式,这只是我的观点(唯一可以给出确认答案的人是DHH :)),

当我看到Action*ActionPack(ActionViewActionController是的两个主要组成部分ActionPack)或ActionMailer,它们涉及到一个动作 Rails应用程序内执行的是它的控制器特定动作或显示特定的视图或者甚至发送电子邮件.所以,Action这里看起来是精确的前缀,因为这些包表示做某事.

当我看到Active*ActiveRecord,ActiveSupportActiveModel等等,它在某种程度上涉及提供一些有用的功能,您的Rails应用程序的业务逻辑是它的实用方法或ORM支持那种喜欢插件,方便的Rails应用程序的开发.

希望在这个问题上看到更多有趣的答案.这是我们可以开始分析的地方.