我对动态添加方法到我的Ruby类的模块有很多乐趣。Rails - 没有包含的模块
我使用include语法将它们带入我的类,并且所有内容都按预期工作。
但是,我注意到,当我使用诸如Authlogic或Paperclip等宝石时,不需要显式导入。我可以简单地在我的ActiveRecord派生模型上发出acts_as_authentic或has_attached_file,并且类方法自动处于范围内并被调用来修饰我的类。
这是怎么回事?是否包含在Gemfile中将所有类方法隐式地放在范围内?
我想写一个Gem以相同的方式表现。
编辑 - 此帖子http://yehudakatz.com/2009/11/12/better-ruby-idioms/表明ActiveRecord :: Base正在使用include进行增强。这是怎么回事?
该代码需要加载回形针库,我敢肯定它只需要包含在gemfile中,以便在MVC中使用回形针方法。 – holaSenor
正如我在答案中所写的,您不需要手动执行此操作。当你需要宝石时,这是为你完成的。用户要求解释发生了什么,这是答案。 –