我有一些方法可以添加到Array我的Rails应用程序的Ruby 类中.放置它们的最佳位置在哪里?
现在我在config/environment.rb中有它们.
config/environment.rb实际上并不是最好的地方,因为如果尝试扩展在环境执行时尚未解析的类,可能会遇到严重的加载排序问题.
最好将文件放入config/initializers.在加载rails运行时之后,将执行放置在那里的任何脚本.
你可以做的是创建一个文件lib/my_extensions.rb
module MyExtensions
end
Run Code Online (Sandbox Code Playgroud)
然后在lib/my_extensions/array.rb中:
module MyExtensions::Array
def join_with_commas
join(", ")
end
end
Run Code Online (Sandbox Code Playgroud)
在config/initializers/load_my_extensions.rb中
class Array
include MyExtensions::Array
end
Run Code Online (Sandbox Code Playgroud)
每次在开发模式下调用请求时,这将导致MyExtensions :: Array自动重新加载.这比每次更改代码时重启应用程序都要好.
| 归档时间: |
|
| 查看次数: |
600 次 |
| 最近记录: |