【问题标题】:Rails: Where words of pluralization for activerecord are?Rails:activerecord 的复数词在哪里?
【发布时间】:2013-11-22 13:14:07
【问题描述】:

我今天发现“英雄”这个词在活动记录中被复数为“英雄”而不是“英雄”。我想知道以下几点: 一个词如何“知道”如何复数?我知道有 activesupport 和变形器,但是对于奇怪的复数形式是否有某种查找词汇?

【问题讨论】:

    标签: ruby-on-rails activerecord activesupport


    【解决方案1】:

    Rails 大部分时间都在基于英语简单语法的复数方面做得很好。

    当使用不正确的单词时,您可以在文件config/initializers/inflections.rb 中指定正确的形式,如下所示:

    ActiveSupport::Inflector.inflections do |inflect|
      inflect.plural /^(hero)$/i, '\1es'
    
      inflect.plural /^(ox)$/i, '\1en'
      inflect.singular /^(ox)en/i, '\1'
      inflect.irregular 'person', 'people'
      inflect.uncountable %w( fish sheep )
    end
    

    【讨论】:

      【解决方案2】:

      是的@JohnDel,你是对的。对于一些常用的不规则词,其硬编码在此文件中:

      https://github.com/rails/rails/blob/9e0b3fc7cfba43af55377488f991348e2de24515/activesupport/lib/active_support/inflections.rb

      不规则词见文件底部

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-12-05
        • 2011-10-12
        • 2023-04-02
        • 2014-01-23
        • 1970-01-01
        • 2018-01-09
        相关资源
        最近更新 更多