2010-05-30 66 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

相關問題