コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

Railsの複数形、単数形のルールを知りたい場合はrails/activesupport/lib/active_support/inflections.rb を見ると良い

Modelは複数形に、みたいな情報のベース定義。

環境

$ bin/rails -v
Rails 5.2.2

前提

Railsの単数形、複数形、例外は登録することができる。

  • inflect.pluralは複数形への変換を定義
  • inflect.singularは単数形への変換を定義
  • inflect.irregularは単数形と複数形で規則性がない変換を定義(person/peopleみたいの)
  • inflect.uncountableは不加算名詞を定義(informationとか)

見る場所

rails/inflections.rb at master · rails/rails

module ActiveSupport
  Inflector.inflections(:en) do |inflect|
    inflect.plural(/$/, "s")
    inflect.plural(/s$/i, "s")
    # (中略)
    inflect.singular(/s$/i, "")
    # (中略)
    inflect.irregular("zombie", "zombies")
    # (中略)
    inflect.uncountable(%w(equipment information rice money species series fish sheep jeans police))
  end
end

こんな感じである。しかしzombieって…🧟

参考リンク