2010-05-30 88 views
4

刚想与以下扩展扩展Array类:你在哪里扩展你的rails应用程序中的类?

class Array 
    def shuffle! 
    size.downto(1) { |n| push delete_at(rand(n)) } 
    self 
    end 
end 

不过,我想知道哪里的好地方,以保持这些类型的扩展。我正在考虑environment.rb或将其自己的文件放入初始化程序目录中。

回答

11

我通常遵循ActiveSupport惯例,将其放置在lib/core_ext/#{class}.rb - 在这种情况下,lib/core_ext/array.rb。正如John Hyland所指出的那样,您可以在需要的地方明确地要求文件,或者在初始化器中添加一个require语句。

+1

这似乎是比我更好的答案,所以我要删除我的答案(并开始以这种方式编写我的应用程序)。 – 2010-05-31 22:18:32

相关问题