【问题标题】:Where is the right place to put predefined class (e.g. String, Symbol) extensions in Ruby on Rails?在 Ruby on Rails 中放置预定义类(例如字符串、符号)扩展的正确位置在哪里?
【发布时间】:2010-12-13 03:35:32
【问题描述】:

我想将my_method 添加到Symbol 类中,并且能够从app/helpers/application_helper.rb 调用my_method

module ApplicationHelper
  def my_helper
    my_symbol.my_method
  end
end

什么地方放最合适:

class Symbol
  def my_method
    <some code here>
  end
end

?

【问题讨论】:

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


【解决方案1】:

我认为将您的本机类扩展粘贴到您的 lib 文件夹中的一个新文件中,并将它们添加到您的 environment.rb 文件中的 require 应该可以做到。

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 嗨,科里!您会将monkey_patches.rb 文件放在哪里?您的意思是在config/initializers 中创建一个新文件并将其放入require 'monkey_patches' 中吗?
    猜你喜欢
    • 1970-01-01
    • 2011-08-05
    • 1970-01-01
    • 2010-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-11
    • 2012-06-11
    相关资源
    最近更新 更多