无法使用ActiveSupport::Inflector(在IRB中)实现多元化/单元化

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (13)
irb(main):001:0> require 'active_support'
=> true
irb(main):002:0> require 'active_support/inflector/inflections'
=> true
irb(main):003:0> ActiveSupport::Inflector.pluralize('test')
=> "test"
irb(main):004:0> ActiveSupport::Inflector.singularize('tests')
=> "tests"
irb(main):005:0> ActiveSupport::Inflector.titleize('hat simulator')
=> "Hat Simulator"
<ort::Inflector.tableize("america's number one hat simulator")
=> "america's number one hat simulator"

基本上,这就是问题所在。让我感到困惑的是,titleize似乎工作正常的方法,但是tableizepluralizesingularize没有。

我错过了什么吗?

提问于
用户回答回答于
require 'active_support/inflector'
ActiveSupport::Inflector.pluralize('test')
#=> "tests"

用于字符串

require 'active_support/core_ext/string'
"test".pluralize
#=> "tests"

实际上会调用ActiveSupport::Inflector.pluralize:

def pluralize
  ActiveSupport::Inflector.pluralize(self)
end

扫码关注云+社区