gpt4 book ai didi

ruby-on-rails - 重新定义 Rails 的方法

转载 作者:数据小太阳 更新时间:2023-10-29 06:34:58 25 4
gpt4 key购买 nike

Rails 方法 Array#to_sentence 允许以下操作:

['a', 'b', 'c'].to_sentence # gives: "a, b, and c"

我想扩展此方法以允许它占用一个 block ,这样您就可以执行如下操作(其中 people 是 Person 对象的数组,具有 name 属性):

people.to_sentence { |person| person.name }
# => "Bill, John, and Mark"

我对编写扩展方法没有问题。但我不知道该把它放在哪里。 Rails 核心扩展被加载到 ActiveSupport 深处的某个地方。我需要一个始终加载和预加载用户定义代码的位置(在任何应用程序代码之前)。

最佳答案

创建 config/initializers/super_to_sentence.rb。此目录中的所有文件都在 Rails 加载后加载,因此您将有机会覆盖 Rails 的 Array#to_sentence 定义。

对于您想在 Rails 加载之前加载的代码,将其添加到 config/environment.rb

关于ruby-on-rails - 重新定义 Rails 的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/842359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com