ruby-on-rails – 在Rails中扩展内置类功能的最佳位置在哪里?
发布时间:2020-12-17 02:51:11 所属栏目:百科 来源:网络整理
导读:我有一些方法,我将为我的Rails应用程序添加到 Ruby的Array类中.放置它们的最佳位置在哪里? 现在我在config / environment.rb中有它们. 解决方法 config / environment.rb实际上并不是最好的地方,因为如果尝试扩展在环境执行时尚未解析的类,可能会遇到严重的
我有一些方法,我将为我的Rails应用程序添加到
Ruby的Array类中.放置它们的最佳位置在哪里?
现在我在config / environment.rb中有它们. 解决方法
config / environment.rb实际上并不是最好的地方,因为如果尝试扩展在环境执行时尚未解析的类,可能会遇到严重的加载排序问题.
最好将文件放入config / initializers.在加载rails运行时之后,将执行放置在那里的任何脚本. 你可以做的是创建一个文件lib / my_extensions.rb module MyExtensions end 然后在lib / my_extensions / array.rb中: module MyExtensions::Array def join_with_commas join(",") end end 在config / initializers / load_my_extensions.rb中 class Array include MyExtensions::Array end 每次在开发模式下调用请求时,这将导致MyExtensions :: Array自动重新加载.这比每次更改代码时重启应用程序都要好. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |