# Using RoR pluralization rules

**URL:** <https://www.ruby-forum.com/t/using-ror-pluralization-rules/63080>\
**Category:** Rails\
**Created:** [January 19, 2006, 7:55pm UTC](https://www.ruby-forum.com/t/using-ror-pluralization-rules/63080 "2006-01-19T19:55:15Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![vivek](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/77aa72/32.png) [@vivek](https://www.ruby-forum.com/u/vivek)\
**Post date:** [January 19, 2006, 7:55pm UTC](https://www.ruby-forum.com/t/using-ror-pluralization-rules/63080/1 "2006-01-19T19:55:15Z")

</div>

Hello,  
RoR seems to be aware of plurals like category=\>categories etc…I Want  
to  
be able to use this in my application to relate some keywords.Is it  
possible  
?or does RoR itself use some ruby library?  
Thanks  
Vivek

---

<div class="post-metadata">

**Author:** ![vivek](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/77aa72/32.png) [@vivek](https://www.ruby-forum.com/u/vivek)\
**Post date:** [January 19, 2006, 8:10pm UTC](https://www.ruby-forum.com/t/using-ror-pluralization-rules/63080/2 "2006-01-19T20:10:23Z")

</div>

RoR uses a mixin module for the String class - you can simply call  
functions such as pluralize, singularize etc on any string from within a  
RoR application.

The module you want to look at is  
ActiveSupport::CoreExtensions::String::Inflections.

---

<div class="post-metadata">

**Author:** ![vivek](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/77aa72/32.png) [@vivek](https://www.ruby-forum.com/u/vivek)\
**Post date:** [January 19, 2006, 8:32pm UTC](https://www.ruby-forum.com/t/using-ror-pluralization-rules/63080/3 "2006-01-19T20:32:37Z")

</div>

Marc Croom wrote:

> RoR uses a mixin module for the String class - you can simply call  
> functions such as pluralize, singularize etc on any string from within a  
> RoR application.
> 
> The module you want to look at is  
> ActiveSupport::CoreExtensions::String::Inflections.

With the caveat that it isn’t always right.

---

<div class="post-metadata">

**Author:** ![vivek](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/77aa72/32.png) [@vivek](https://www.ruby-forum.com/u/vivek)\
**Post date:** [January 19, 2006, 8:43pm UTC](https://www.ruby-forum.com/t/using-ror-pluralization-rules/63080/4 "2006-01-19T20:43:32Z")

</div>

There is a “pluralize” helper you can use to do this. Check out the  
Rails  
API: [api.rubyonrails.org](http://api.rubyonrails.org) and look for the “pluralize” method in  
ActionView::Helpers::TextHelper.

-Will

---

<div class="post-metadata">

**Author:** ![vivek](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/77aa72/32.png) [@vivek](https://www.ruby-forum.com/u/vivek)\
**Post date:** [January 20, 2006, 3:16am UTC](https://www.ruby-forum.com/t/using-ror-pluralization-rules/63080/5 "2006-01-20T03:16:06Z")

</div>

Look for this in config/environment.rb

# Add new inflection rules using the following format

# (all these examples are active by default):

# Inflector.inflections do |inflect|

# inflect.plural /^(ox)$/i, ‘\1en’

# inflect.singular /^(ox)en/i, ‘\1’

# inflect.irregular ‘person’, ‘people’

# inflect.uncountable %w( fish sheep )

# end

– -- Tom M.
