我如何重写rails命名约定?

我有一个名为“服装”的模特,我想成为一个单一的衣服(一件衣服)。 默认情况下,铁轨说复数是服装。 对或错,如果复数是“衣服”,我认为它会更具可读性。

我如何覆盖复数命名约定? 我可以在模型中做到这一点,所以我不必一遍又一遍地做到这一点? 这将如何改变如何处理路线(我正在使用宁静的架构)?

我不是RoR专家,但确实find了一个可能的方法 。 从引用的网站,您可以在config/initializers/inflections.rb文件中添加变形规则:

 # Add new inflection rules using the following format ActiveSupport::Inflector.inflections do |inflect| inflect.irregular 'clothing', 'clothes' end 

对于导轨2.3.2,也许2+,你需要做一点点不同:

 ActiveSupport::Inflector.inflections do |inflect| inflect.plural /^(ox)$/i, '\1\2en' inflect.singular /^(ox)en/i, '\1' inflect.irregular 'octopus', 'octopi' inflect.uncountable "equipment" end 

如果您试图停止数据库复用,请将其添加到您的environment.rb文件中

 ActiveRecord::Base.pluralize_table_names = false 

用Ruby 2.2.2 windows或linux对我来说最好的解决办法是:

 ActiveRecord::Base.pluralize_table_names = false class Persona < ActiveRecord::Base end personas = Persona.all personas.each do | personita | print "#{personita.idpersona} #{personita.nombre}\n" end p Persona.count