为了账号安全,请及时绑定邮箱和手机立即绑定

如何覆盖rails命名约定?

/ 猿问

如何覆盖rails命名约定?

宝慕林4294392 2019-08-02 17:30:07

如何覆盖rails命名约定?

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

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


查看完整描述

3 回答

?
慕运维1137616

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

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


查看完整回答
反对 2019-08-02
?
元芳怎么了

对于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


查看完整回答
反对 2019-08-02
?
www说

environment.rb如果要尝试停止数据库复数,请在文件中添加此项

ActiveRecord::Base.pluralize_table_names = false


查看完整回答
反对 2019-08-02

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信