一些Rails'部件以" Active":
开头还有一些Rails'部件以" Action":
开头为什么?为什么他们都没有相同的前缀?什么"活跃"和"行动"在这种情况下意味着什么?
DHH现在正在建设" ActiveJob",他怎么知道它是不是应该是" ActionJob"?答案 0 :(得分:19)
我看待它的方式,这只是我的观点(唯一可以给出确认答案的人是DHH:)),
当我看到Action*
时ActionPack
ActionView
和ActionController
是ActionPack
)或ActionMailer
的两个主要组成部分时,它们属于Action
在Rails应用程序中执行操作,无论是控制器特定操作还是显示特定视图甚至是发送电子邮件。所以,Active*
似乎是精确的前缀,因为这些包表示做某事。
当我看到ActiveRecord
,如ActiveSupport
,ActiveModel
或{{1}}等时,它会以某种方式与您的Rails应用程序业务逻辑提供一些有用的功能。或ORM支持类似的附加组件,以方便Rails应用程序开发。
希望在这个问题上看到更多有趣的答案。这是我们可以开始分析的地方。
答案 1 :(得分:2)
Action *用于面向用户的东西(视图,控制器,邮件程序),Active *是支持Action *组件的后端组件
答案 2 :(得分:0)
ActiveRecord基于Martin Fowler创造的名为“Active Record”(wiki)的软件模式。
我知道这并不完全解释命名约定,但确实解释了名称的来源。
答案 3 :(得分:0)
看起来像:
Action:为控制器提供功能。
主动为模型提供功能。
不过,我不太确定。