你在哪里扩展rails应用程序中的类?

时间:2010-05-30 14:23:15

标签: ruby-on-rails ruby class environment

即将使用以下扩展名扩展Array类:

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

然而,我想知道在哪里保留这些扩展的好地方。我在考虑environment.rb或在initializers目录中放入自己的文件。

1 个答案:

答案 0 :(得分:11)

我通常遵循ActiveSupport约定,将其放在lib/core_ext/#{class}.rb中 - 在本例中为lib/core_ext/array.rb。正如John Hyland所说,您可以根据需要明确地要求文件,或者在初始化程序中放置require语句。