【问题标题】:Where to put ruby object extensions在哪里放置 ruby​​ 对象扩展
【发布时间】:2010-08-13 04:13:35
【问题描述】:

我想知道在我的 rails 应用程序中将如下的猴子补丁代码放在哪里,它将打开现有的类并添加或覆盖新功能。我希望此代码尽快可用于所有实例。自动加载执行此操作并将调用放入 environment.rb 的正确方法吗?

class Class
  def attr_initializer(*attributes)
    attr_reader *attributes
    class_eval <<-RUBY
      def initialize(#{attributes.join(', ')})
        #{attributes.map{ |attribute| "@#{attribute}" }.join(', ')} = #{attributes.join(', ')}
      end
    RUBY
  end
end

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    如果您使用的是 rails 2.3.x,那么标准的放置位置是在 config/initializers 目录中的文件中。 Rails 会在启动过程的早期加载这些文件。

    【讨论】:

    • 谢谢,请问在运行测试时,我是否需要在 test_helper 中添加任何代码来初始化这段代码?
    • 这些初始化程序将在测试套件加载时运行。 config/initialiers 中的文件适用于所有环境
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-05
    • 1970-01-01
    • 1970-01-01
    • 2017-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多