pluralize without count number in rails 4 pluralize without count number in rails 4 ruby-on-rails ruby-on-rails

pluralize without count number in rails 4


I have been looking for the answer to this myself and wasn't satisfied with any of the existing ones. Here's the tidiest solution I found:

 Available <%=  "Article".pluralize(@posts.published.count) %>:

Documentation is here. Relevant bits:

Returns the plural form of the word in the string.

If the optional parameter count is specified,the singular form will be returned if count == 1.For any other value of count the plural will be returned.  'post'.pluralize             # => "posts"  'apple'.pluralize(1)         # => "apple"  'apple'.pluralize(2)         # => "apples"


You could use Rails Internationalization (I18n) to accomplish this. In your config/data/en.yml your translations would be something like this:

en:  available_articles:    zero: Available Article    one: Available Article    other: Available Articles

And in your view you should be able to get the translation like this:

<%= t(:available_articles, count: @posts.published.count) %> 


Yes, I did that way I liked so much:

- if @post.comments.persisted.any?    h4      = t(:available_comments, count: @post.comments.count)    = render @post.comments.persisted  - else    p      | There are no comments for this post.en:  available_comments:    one: "%{count} Comment"    other: "%{count} Comments"

Thank's @Jakob W!