在Ruby on Rails中放置预定义类(例如String,Symbol)扩展的正确位置在哪里?

时间:2010-12-13 03:35:33

标签: ruby-on-rails ruby-on-rails-3

我想将my_method添加到Symbol课程,并且可以从my_method致电app/helpers/application_helper.rb

module ApplicationHelper
  def my_helper
    my_symbol.my_method
  end
end

最合适的地方在哪里:

class Symbol
  def my_method
    <some code here>
  end
end

2 个答案:

答案 0 :(得分:2)

我认为将您的原生类扩展保留在lib文件夹中的新文件中,并require将它们放在environment.rb文件中。

答案 1 :(得分:0)

我通常会创建一个名为monkey_patches.rb(或类似文件)的文件 - 因此很明显修补程序 的位置 - 然后在config / initializers中使用初始化程序加载它。这就是他们的目标!