unr*_*ity 20 ruby activesupport
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"
Run Code Online (Sandbox Code Playgroud)
嗯,基本上,这就是问题所在.让我感到困惑的是,方法titleize似乎工作正常,但是tableize,pluralize并且singularize没有.
我忘了要求什么吗?
(在另一个注释中,我注意到这个页面提供了一些例子"post".pluralize,当我尝试时,会产生NoMethodError: undefined method 'pluralize' for "post":String这样的结果.但也许这可以为另一个问题保存.)
fl0*_*00r 37
#pluralize无需向String类添加新方法即可访问:
require 'active_support/inflector'
ActiveSupport::Inflector.pluralize('test')
#=> "tests"
Run Code Online (Sandbox Code Playgroud)
对于String类:
require 'active_support/core_ext/string'
"test".pluralize
#=> "tests"
Run Code Online (Sandbox Code Playgroud)
它实际上ActiveSupport::Inflector.pluralize在下面调用:
def pluralize
ActiveSupport::Inflector.pluralize(self)
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8057 次 |
| 最近记录: |