Rails默认规则 - 单复数的别扭之处
作者:半瓶墨水 链接:http://www.2maomao.com/blog/ruby-singlur-vs-plural/
Rails强调convention,以期取代config文件。其中很著名的就是:数据库表用某名词的复数形式,rails生成器就以该名词的单数形式来命名文件。
对于英语好的人,这么做可能很方便(只能说可能,因为据我所知有些单词的单复数不止一个形式)
对于英语不好的人,我想知道的是:Rails用的到底是什么规则?
我查了金山词霸,又google了一把,却依然惴惴不安:人家Rails的单复数是不是用的韦伯斯特大辞典?哪个版本的?
这种不安,一直到现在还是一种困扰,我不得不限制对数据库名称的使用,甚至为此牺牲了几个更加可读的名称,因为我不能判断Rails到底能否分辨。
[tag]ruby, rails[/tag]



基本上都是用通用规则,比如加s,y结尾变成ies。特殊情况通过Inflector.inflections定义,rails源代码里应该有。
你也可以在你自己的environment.rb里增加定义:
Inflector.inflections do |inflect|
# inflect.plural /^(ox)$/i, ‘\1en’
# inflect.singular /^(ox)en/i, ‘\1′
# inflect.irregular ‘person people’
# inflect.uncountable %w( information )
end
最好在每个版本发行的时候同时提供一个工具来做转换