gpt4 book ai didi

ruby-on-rails - 重载 ActiveSupport 的默认 to_sentence 行为

转载 作者:数据小太阳 更新时间:2023-10-29 08:17:59 26 4
gpt4 key购买 nike

ActiveSupport 提供了很好的方法to_sentence。因此,

require 'active_support'
[1,2,3].to_sentence # gives "1, 2, and 3"
[1,2,3].to_sentence(:last_word_connector => ' and ') # gives "1, 2 and 3"

您可以更改最后一个单词连接器,这很好,因为我不希望有多余的逗号。但它需要太多额外的文本:44 个字符而不是 11 个!

问题:将 :last_word_connector 的默认值更改为 ' 和 ' 最像 ruby​​ 的方法是什么?

最佳答案

好吧,它是可本地化的,所以你可以 specify a default support.array.last_word_connector

的 ' 和 ' 的 'en' 值

参见:

来自:conversion.rb

def to_sentence(options = {})
...
default_last_word_connector = I18n.translate(:'support.array.last_word_connector', :locale => options[:locale])
...
end

分步指南:

首先,创建一个rails项目

rails i18n

接下来,编辑你的 en.yml 文件:vim config/locales/en.yml

en:  support:    array:      last_word_connector: " and "

终于成功了:

 Loading development environment (Rails 2.3.3)>> [1,2,3].to_sentence=> "1, 2 and 3"

关于ruby-on-rails - 重载 ActiveSupport 的默认 to_sentence 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1334168/

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