我的rails应用程序中的某些功能看起来更好,就好像它是一个单独的"模块",应该通过它来访问require
.例如,假设它是计算斐波纳契数的函数.
该功能独立于rails应用程序,可以在其他项目中重用,因此我不应该将它存储在应用程序控制器和模型附近.但是因为我不打算将它分离到单独的项目中,所以把它放到vendor
文件夹似乎不是正确的事情.
我应该把它放在哪里?
放置可重用代码的地方就在lib
目录中.但是,您不需要加载路径中已有的require
任何lib
内容,并且在初始化期间将加载其内容.
如果需要扩展现有类,首先定义模块,然后通过将其作为消息发送到要扩展的类来包含它,例如
module MyExtensions
def self.included base
base.instance_eval do
def my_new_method
…
end
end
end
end
ActiveRecord::Base.send :include, MyExtensions
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3132 次 |
最近记录: |