【发布时间】:2013-11-22 13:14:07
【问题描述】:
我今天发现“英雄”这个词在活动记录中被复数为“英雄”而不是“英雄”。我想知道以下几点: 一个词如何“知道”如何复数?我知道有 activesupport 和变形器,但是对于奇怪的复数形式是否有某种查找词汇?
【问题讨论】:
标签: ruby-on-rails activerecord activesupport
我今天发现“英雄”这个词在活动记录中被复数为“英雄”而不是“英雄”。我想知道以下几点: 一个词如何“知道”如何复数?我知道有 activesupport 和变形器,但是对于奇怪的复数形式是否有某种查找词汇?
【问题讨论】:
标签: ruby-on-rails activerecord activesupport
Rails 大部分时间都在基于英语简单语法的复数方面做得很好。
当使用不正确的单词时,您可以在文件config/initializers/inflections.rb 中指定正确的形式,如下所示:
ActiveSupport::Inflector.inflections do |inflect|
inflect.plural /^(hero)$/i, '\1es'
inflect.plural /^(ox)$/i, '\1en'
inflect.singular /^(ox)en/i, '\1'
inflect.irregular 'person', 'people'
inflect.uncountable %w( fish sheep )
end
【讨论】:
是的@JohnDel,你是对的。对于一些常用的不规则词,其硬编码在此文件中:
不规则词见文件底部
【讨论】: