它是rails/init.rb下act_as_audited插件1.1.1中的一个代码片段。
为什么要使用这段代码?欢迎对此作出任何一般性解释。
if defined?(ActionController) and defined?(ActionController::Base)
发布于 2015-02-12 11:07:22
经审计旨在与普通ActiveRecord一起使用。因为您可以在Rails之外使用ActiveRecord,例如在Sinatra应用程序中,如果gem不将自己绑定到Rails,则会很有帮助。
这正是这里所发生的事情:作者试图检测他们是否在Rails下运行(更具体地说,如果应用程序使用ActionController进行路由,这是Rails的一部分),以加载其他特定于Rails的功能。
对于不使用ActionController (或Rails)的应用程序,gem仍然是可用的。
看来他们已经在以后的版本中删除了这个兼容层。因此,acts_as_audited的后继者(称为经审计)现在依赖于Rails。
https://stackoverflow.com/questions/28475691
相似问题