2013-06-26 34 views
1

是否存在有關Rails使用和需要的所有常見覆合文檔的文檔?有關軌道生成/使用的所有複數的文檔

例如在這個模型中,我不能用「人」,而是「人」

class Actor < ActiveRecord::Base 
    attr_accessible :description 
    has_many :persons 
    has_many :episodes 
end 

有誰知道我可以指仔細檢查我的多元化命名約定是正確的名單嗎?

回答

2

拐折包含在active_support/inflections.rb

module ActiveSupport 
    Inflector.inflections do |inflect| 
    inflect.plural(/$/, 's') 
    inflect.plural(/s$/i, 's') 
    inflect.plural(/(ax|test)is$/i, '\1es') 
    inflect.plural(/(octop|vir)us$/i, '\1i') 
    inflect.plural(/(octop|vir)i$/i, '\1i') 
    inflect.plural(/(alias|status)$/i, '\1es') 
    inflect.plural(/(bu)s$/i, '\1ses') 
    inflect.plural(/(buffal|tomat)o$/i, '\1oes') 
    inflect.plural(/([ti])um$/i, '\1a') 
    inflect.plural(/([ti])a$/i, '\1a') 
    inflect.plural(/sis$/i, 'ses') 
    inflect.plural(/(?:([^f])fe|([lr])f)$/i, '\1\2ves') 
    inflect.plural(/(hive)$/i, '\1s') 
    inflect.plural(/([^aeiouy]|qu)y$/i, '\1ies') 
    inflect.plural(/(x|ch|ss|sh)$/i, '\1es') 
    inflect.plural(/(matr|vert|ind)(?:ix|ex)$/i, '\1ices') 
    inflect.plural(/(m|l)ouse$/i, '\1ice') 
    inflect.plural(/(m|l)ice$/i, '\1ice') 
    inflect.plural(/^(ox)$/i, '\1en') 
    inflect.plural(/^(oxen)$/i, '\1') 
    inflect.plural(/(quiz)$/i, '\1zes') 

    inflect.singular(/s$/i, '') 
    inflect.singular(/(n)ews$/i, '\1ews') 
    inflect.singular(/([ti])a$/i, '\1um') 
    inflect.singular(/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$/i, '\1\2sis') 
    inflect.singular(/(^analy)ses$/i, '\1sis') 
    inflect.singular(/([^f])ves$/i, '\1fe') 
    inflect.singular(/(hive)s$/i, '\1') 
    inflect.singular(/(tive)s$/i, '\1') 
    inflect.singular(/([lr])ves$/i, '\1f') 
    inflect.singular(/([^aeiouy]|qu)ies$/i, '\1y') 
    inflect.singular(/(s)eries$/i, '\1eries') 
    inflect.singular(/(m)ovies$/i, '\1ovie') 
    inflect.singular(/(x|ch|ss|sh)es$/i, '\1') 
    inflect.singular(/(m|l)ice$/i, '\1ouse') 
    inflect.singular(/(bus)es$/i, '\1') 
    inflect.singular(/(o)es$/i, '\1') 
    inflect.singular(/(shoe)s$/i, '\1') 
    inflect.singular(/(cris|ax|test)es$/i, '\1is') 
    inflect.singular(/(octop|vir)i$/i, '\1us') 
    inflect.singular(/(alias|status)es$/i, '\1') 
    inflect.singular(/^(ox)en/i, '\1') 
    inflect.singular(/(vert|ind)ices$/i, '\1ex') 
    inflect.singular(/(matr)ices$/i, '\1ix') 
    inflect.singular(/(quiz)zes$/i, '\1') 
    inflect.singular(/(database)s$/i, '\1') 

    inflect.irregular('person', 'people') 
    inflect.irregular('man', 'men') 
    inflect.irregular('child', 'children') 
    inflect.irregular('sex', 'sexes') 
    inflect.irregular('move', 'moves') 
    inflect.irregular('cow', 'kine') 
    inflect.irregular('zombie', 'zombies') 

    inflect.uncountable(%w(equipment information rice money species series fish sheep jeans)) 
    end 
end 

很明顯,你可以添加自己的。

AFAIK這是一個只有代碼的工件。

+0

甜。謝謝。超級有用。 – tomgalpin