当前位置:  开发笔记 > 后端 > 正文

重载ActiveSupport的默认to_sentence行为

如何解决《重载ActiveSupport的默认to_sentence行为》经验,为你挑选了1个好方法。

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个字符!

问题:什么是改变的默认值,比如Ruby最方式:last_word_connector' and '



1> Sam Saffron..:

好吧,它是可本地化的,所以你可以指定 '和' 的默认 'en'值support.array.last_word_connector

看到:

来自: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"

推荐阅读
谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有