如果在Ruby on Rails上,我需要添加一个名为

class String
  def capitalize_first
    # ...
  end
end

想知道文件应该放在哪里?(哪个目录和文件名,需要初始化代码吗?)这是一个Rails 3.0.6项目.

推荐答案

我总是在我的lib目录中添加一个core_ext目录.

创建一个用于加载自定义扩展的initializer(例如:config/initializers/core_exts.rb).并在其中添加以下行:

Dir[File.join(Rails.root, "lib", "core_ext", "*.rb")].each {|l| require l }

你的分机是这样的:

lib/core_ext/string.rb

class String
  def capitalize_first
    # ...
  end
end

Ruby-on-rails相关问答推荐

Rails 7通过引擎将方法自动加载到控制器中的方法

在has_many关系中由两个条件 Select

确定当前太平洋时区是PST还是PDT

引用连接 Rails 表中枚举的查询

如何使用 Rails 语义记录器记录整个请求(标头、正文等)

在 POST 请求中添加了 Rails 奇怪的参数

Ruby on Rails form_with 不显示错误,卡在服务器端

刺激不添加侦听器以搜索表单输入

如何获取 Ruby on Rails 生成的表单元素 id 以供 JavaScript 参考?

如何将 Ruby 哈希转换为 XML?

RSpec 设置会话对象

如何在rails中发回js.haml

使用 oauth 和 twitter ruby​​ gem 时不断收到 OAuth::Unauthorized 错误

通过重定向使闪存哈希保持不变

我收到在扫描下一个令牌时发现无法启动任何令牌的字符

我可以在 twitter-bootstrap popover 数据内容中使用 html 标签吗?

Rspec:如何在控制器规范中分配实例变量

如何检测rails是否在根url?

Rails:如何在rails中使用dependent::destroy?

Ruby 中的类别名