我有一个名为“ clothing”的模型,我想成为单数(一件衣服)。默认情况下,rails说复数是服装。对或错,我认为如果复数为“衣服”,则可读性更高。
如何覆盖复数命名约定?我可以在模型中正确执行此操作,而不必一遍又一遍地执行吗?这将如何改变路由的处理方式(我正在使用静态架构)?
我有一个名为“ clothing”的模型,我想成为单数(一件衣服)。默认情况下,rails说复数是服装。对或错,我认为如果复数为“衣服”,则可读性更高。
如何覆盖复数命名约定?我可以在模型中正确执行此操作,而不必一遍又一遍地执行吗?这将如何改变路由的处理方式(我正在使用静态架构)?
Answers:
我不是RoR专家,但确实找到了可能的方法。从引用的站点,您可以在config/initializers/inflections.rb
文件内部添加拐点规则:
# Add new inflection rules using the following format
ActiveSupport::Inflector.inflections do |inflect|
inflect.irregular 'clothing', 'clothes'
end
ActiveSupport::Inflector.inflections do |inflect|
如果找不到它本身就是Inflector
ActiveSupport::Inflector.inflections(:en)
对于我来说,使用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