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 '
?
好吧,它是可本地化的,所以你可以指定 '和' 的默认 '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"