我有一个名为“服装”的模型,我想成为单元(一件衣服)。默认情况下,铁轨说复数是服装。对或错,如果复数是“衣服”,我认为它会更具可读性。我如何重写rails命名约定?
如何覆盖复数命名约定?我可以在模型中正确使用吗,所以我不必一遍又一遍地做到这一点?这将如何改变路线的处理方式(我正在使用宁静的建筑)?
我有一个名为“服装”的模型,我想成为单元(一件衣服)。默认情况下,铁轨说复数是服装。对或错,如果复数是“衣服”,我认为它会更具可读性。我如何重写rails命名约定?
如何覆盖复数命名约定?我可以在模型中正确使用吗,所以我不必一遍又一遍地做到这一点?这将如何改变路线的处理方式(我正在使用宁静的建筑)?
我不是RoR专家,但确实找到了possible approach。从引用的网站,你可以添加config/initializers/inflections.rb
文件中拐点规则:
# Add new inflection rules using the following format
ActiveSupport::Inflector.inflections do |inflect|
inflect.irregular 'clothing', 'clothes'
end
为Rails 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
如何将您的模型更改为服装和服装? – 2009-07-26 17:15:21
相关:http://stackoverflow.com/q/6178900/1505348 – Lucio 2015-06-21 20:12:31