ruby-on-rails – 我应该在rails应用程序中放置自己的“模块”?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 我应该在rails应用程序中放置自己的“模块”?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的rails应用程序中的某些功能看起来更好,就好像它是一个单独的“模块”,应该通过require访问.例如,假设它是计算斐波纳契数的函数.

功能独立于rails应用程序,可以在其他项目中重用,因此我不应该将它存储在应用程序控制器和模型附近.但是因为我不打算将它分离到单独的项目中,所以把它放到供应商文件夹似乎不是正确的事情.

我应该把它放在哪里?

解决方法

放置可重用代码的地方就在lib目录中.但是,您不需要任何内容​​,因为lib已经在加载路径中,并且它的内容将在初始化期间加载.

如果您需要扩展现有类,则首先定义模块,然后通过将其作为消息发送到您希望扩展的类来包含它,例如:

module MyExtensions
  def self.included base
    base.instance_eval do
      def my_new_method
        …
      end
    end
  end
end

ActiveRecord::Base.send :include,MyExtensions

猜你在找的Ruby相关文章